[MDEV-20673] MariaDB-server package not listing on CentOS 8 Created: 2019-09-26 Updated: 2020-03-02 Resolved: 2020-03-02 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Packaging |
| Affects Version/s: | 10.3.18 |
| Fix Version/s: | 10.3.22, 10.4.12 |
| Type: | Bug | Priority: | Critical |
| Reporter: | George L | Assignee: | Daniel Bartholomew |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | packaging, upstream | ||
| Environment: |
CentOS 8.0 on VirtualBox 6 on Windows 10 host |
||
| Issue Links: |
|
||||
| Description |
|
If I installed CentOS 8 MariaDB yum repo from mariadb.org on CentOS 8, mariadb-server/MariaDB-server package seems to be missing on yum list output. This happens with or without CentOS 8 native mariadb module being disabled or enabled. With CentOS 8 native mariadb module enabled
With CentOS 8 native mariadb module disabled
mariadb-server 10.3.18 is missing in both cases ? mariadb.repo
|
| Comments |
| Comment by George L [ 2019-09-29 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
also MariaDB-server missing in mariadb.org centos 8 YUM repo too
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by George L [ 2019-09-30 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
looks like MariaDB-server being missing might be something to do with conflict with AppStream repository in CentOS 8 itself. If i disable AppStream repository completely, MariaDB-server package does show
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2019-10-17 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I think the culprit is that the MariaDB packages in the AppStream repo have Epoch=3:
We currently don't set the Epoch flag for our MariaDB rpm packages, so dnf/yum appears to treat them as having Epoch=1 or Epoch=0. In RHEL/CentOS 7 the MariaDB 5.5 packages in the distribution repositories have Epoch=1, so yum must have been treating ours as also having Epoch=1, since it had no issues with installing ours in preference to the ones in their repository. Or maybe previous versions of yum simply didn't pay attention to the Epoch flag. Anyway, because the Epoch is set to 3 for the MariaDB packages in the in RHEL/CentOS 8 AppStream repo, those packages are always preferred over ours, even when our version numbers are higher. We've run into this before on the Ubuntu side of things, but this is the first time it has caused problems on the CentOS/RHEL side. Incidentally (and so I can find it again), https://rpm-packaging-guide.github.io/#epoch has some info on the Epoch flag for rpm packages. As a temporary fix, I've updated the install instructions displayed by the Repository Configuration Tool for both RHEL 8 and CentOS 8. A proper fix will require a developer modifying the RPM Spec file used when building our RHEL/CentOS 8 rpm packages and adding whatever the correct syntax is to properly set Epoch=3 (or maybe Epoch=4, we'll need to do more testing to see if having the same epoch as the packages in the distribution repositories is sufficient or if we need to use a higher one). FYI, on the RHEL side of things, the 'AppStream' repo is called 'rhel-8-for-<arch>-appstream-rpms'. The updated instructions in the Repository Configuration tool are therefore slightly different between RHEL 8 and CentOS 8 (and amd64/ppc64le) to account for this. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2019-10-18 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Once we have packages that set the Epoch flag, I can put them into a test repo and confirm that the issue is resolved. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2019-10-19 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Faramos, can you shed some light on it? Why RHEL8 uses Epoch=3 for mariadb-server, do you know? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Michal Schorm [ 2019-10-19 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Sure, I never actually stopped to think about that - if it's necessary to have the same epoch verison in the RHEL - because it seemed so natural to just follow the forked Fedora. It's not often you meet packages with bumped epoch, on the other side, it's just a number to be bumped when you need it. — As for the issue, it seems odd only the server package would be missing ... — I'll try to think of how could I help you. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Geoff Montee (Inactive) [ 2019-12-05 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
We thought that we might be able to work around this by setting excludepkgs=mariadb* in the configuration for the AppStream repository, but that doesn't work due to the following dnf bug: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2019-12-06 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
We can obviously set Epoch=3 in our RHEL8 packages too. We already have Epoch=1 for RHEL7. But I definitely want to avoid "a war of epochs", when Fedora/RHEL increments epoch to be larger than ours and we increment ours to be on par with Fedora/RHEL. mschorm do think think this could be the reason for Epoch=3 in RHEL? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by George L [ 2019-12-09 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
With Epoch=3, if someone made the active choice to install MariaDB.org yum versions, they are intending to use it over native MariaDB module in CentOS 8/RHEL 8 anyway ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Michal Schorm [ 2019-12-09 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I don't think the Epoch will make any difference. That is IMHO deffinitelly a bug in DNF and until it is solved there, the issue will persist. There is an option for emergency situations, that worked for me - as I tested in on both RHEL 8 & CentOS 8. If you specify
In the MariaDB repo file (on the user side, in the /etc/yum.repos.d/ ), Please check if it solves your issue, unitl the DNF is fixed. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Michael Hampton [ 2019-12-20 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Maybe I have some more information. I tried to install MariaDB-tokudb-engine and the dependency error said the package MariaDB-server was excluded. I'm not clear as to how the AppStream repo causes MariaDB-server to be excluded, though it appears that EL8's version of dnf isn't nearly as case-sensitive as previous versions of yum were. In the past mariadb-server and MariaDB-server were considered distinct packages.
Adding --nobest did not help.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Geoff Montee (Inactive) [ 2019-12-20 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The easiest workaround that I've found is to disable the AppStream repository when you want to install MariaDB. This might mean that you have to manually install the dependencies first. For example:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2020-01-21 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I tried to build with the Epoch=3, it didn't help | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2020-01-21 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
but module_hotfixes=true seems to be working. dbart, could you implement that instead? That is, instead of sudo dnf install boost-program-options and --disablerepo=AppStream, put module_hotfixes=true into the generated repository config. And, please, also verify that it works, I believe it worked for me, but I'd like a second confirmation here, just in case | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2020-01-22 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This solution works really well. I've just now tested it on CentOS 8 and RHEL 8, using our 10.3, 10.4, 10.3-enterprise, and 10.4-enterprise repositories and it worked every time. I'll get the mariadb_repo_setup, mariadb_es_repo_setup, and the https://downloads.mariadb.org/mariadb/repositories/ tool updated to use this solution. Thanks! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2020-01-22 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
https://downloads.mariadb.org/mariadb/repositories/ updated and tested. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2020-01-22 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
It may be worth adding an explanation to the repo tool something like "module_hotfixes=true is a workaround for what we were told is a dnf bug. See https://jira.mariadb.org/browse/MDEV-20673 for details" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2020-01-22 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
mariadb_repo_setup script updated | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2020-01-23 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
mariadb_es_repo_setup script updated, but not pushed live yet, will coordinate this with the Docs team during the next ES release cycle | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Bartholomew [ 2020-02-18 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Yes. It will be part of this ES release | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Julien Fritsch [ 2020-02-18 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
OK thank you. |