[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:
Blocks

 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

yum -q list mariadb-* --showduplicates | tr -s ' ' | column -t                                                 Installed                                         Packages                                
mariadb-connector-c.x86_64                        3.0.7-1.el8                             @AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8                             @AppStream
Available                                         Packages                                
MariaDB-backup.x86_64                             10.3.16-1.el8                           mariadb
MariaDB-backup.x86_64                             10.3.17-1.el8                           mariadb
MariaDB-backup.x86_64                             10.3.18-1.el8                           mariadb
MariaDB-backup-debuginfo.x86_64                   10.3.16-1.el8                           mariadb
MariaDB-backup-debuginfo.x86_64                   10.3.17-1.el8                           mariadb
MariaDB-backup-debuginfo.x86_64                   10.3.18-1.el8                           mariadb
MariaDB-client.x86_64                             10.3.16-1.el8                           mariadb
MariaDB-client.x86_64                             10.3.17-1.el8                           mariadb
MariaDB-client.x86_64                             10.3.18-1.el8                           mariadb
MariaDB-client-debuginfo.x86_64                   10.3.16-1.el8                           mariadb
MariaDB-client-debuginfo.x86_64                   10.3.17-1.el8                           mariadb
MariaDB-client-debuginfo.x86_64                   10.3.18-1.el8                           mariadb
MariaDB-common.x86_64                             10.3.16-1.el8                           mariadb
MariaDB-common.x86_64                             10.3.17-1.el8                           mariadb
MariaDB-common.x86_64                             10.3.18-1.el8                           mariadb
MariaDB-common-debuginfo.x86_64                   10.3.16-1.el8                           mariadb
MariaDB-common-debuginfo.x86_64                   10.3.17-1.el8                           mariadb
MariaDB-common-debuginfo.x86_64                   10.3.18-1.el8                           mariadb
MariaDB-connect-engine.x86_64                     10.3.16-1.el8                           mariadb
MariaDB-connect-engine.x86_64                     10.3.17-1.el8                           mariadb
MariaDB-connect-engine.x86_64                     10.3.18-1.el8                           mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.3.16-1.el8                           mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.3.17-1.el8                           mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.3.18-1.el8                           mariadb
MariaDB-cracklib-password-check.x86_64            10.3.16-1.el8                           mariadb
MariaDB-cracklib-password-check.x86_64            10.3.17-1.el8                           mariadb
MariaDB-cracklib-password-check.x86_64            10.3.18-1.el8                           mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.3.16-1.el8                           mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.3.17-1.el8                           mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.3.18-1.el8                           mariadb
MariaDB-devel-debuginfo.x86_64                    10.3.16-1.el8                           mariadb
MariaDB-devel-debuginfo.x86_64                    10.3.17-1.el8                           mariadb
MariaDB-devel-debuginfo.x86_64                    10.3.18-1.el8                           mariadb
MariaDB-gssapi-server.x86_64                      10.3.16-1.el8                           mariadb
MariaDB-gssapi-server.x86_64                      10.3.17-1.el8                           mariadb
MariaDB-gssapi-server.x86_64                      10.3.18-1.el8                           mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.3.16-1.el8                           mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.3.17-1.el8                           mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.3.18-1.el8                           mariadb
MariaDB-server-debuginfo.x86_64                   10.3.16-1.el8                           mariadb
MariaDB-server-debuginfo.x86_64                   10.3.17-1.el8                           mariadb
MariaDB-server-debuginfo.x86_64                   10.3.18-1.el8                           mariadb
MariaDB-shared.x86_64                             10.3.16-1.el8                           mariadb
MariaDB-shared.x86_64                             10.3.17-1.el8                           mariadb
MariaDB-shared.x86_64                             10.3.18-1.el8                           mariadb
MariaDB-shared-debuginfo.x86_64                   10.3.16-1.el8                           mariadb
MariaDB-shared-debuginfo.x86_64                   10.3.17-1.el8                           mariadb
MariaDB-shared-debuginfo.x86_64                   10.3.18-1.el8                           mariadb
MariaDB-test-debuginfo.x86_64                     10.3.16-1.el8                           mariadb
MariaDB-test-debuginfo.x86_64                     10.3.17-1.el8                           mariadb
MariaDB-test-debuginfo.x86_64                     10.3.18-1.el8                           mariadb
MariaDB-tokudb-engine.x86_64                      10.3.16-1.el8                           mariadb
MariaDB-tokudb-engine.x86_64                      10.3.17-1.el8                           mariadb
MariaDB-tokudb-engine.x86_64                      10.3.18-1.el8                           mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.3.16-1.el8                           mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.3.17-1.el8                           mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.3.18-1.el8                           mariadb
mariadb-backup.x86_64                             3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-common.x86_64                             3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-connector-c.x86_64                        3.0.7-1.el8                             @AppStream
mariadb-connector-c.x86_64                        3.0.7-1.el8                             AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8                             @AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8                             AppStream
mariadb-connector-c-devel.x86_64                  3.0.7-1.el8                             AppStream
mariadb-connector-odbc.x86_64                     3.0.7-1.el8                             AppStream
mariadb-devel.x86_64                              3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-embedded.x86_64                           3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-embedded-devel.x86_64                     3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-errmsg.x86_64                             3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-gssapi-server.x86_64                      3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-java-client.noarch                        2.2.5-2.el8                             AppStream
mariadb-oqgraph-engine.x86_64                     3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-server.x86_64                             3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-server-galera.x86_64                      3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-server-utils.x86_64                       3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream
mariadb-test.x86_64                               3:10.3.11-2.module_el8.0.0+35+6f2527ed  AppStream

With CentOS 8 native mariadb module disabled

yum module disable mariadb

yum -q list mariadb-* --showduplicates | tr -s ' ' | column -t
Installed                                         Packages       
mariadb-connector-c.x86_64                        3.0.7-1.el8    @AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8    @AppStream
Available                                         Packages       
MariaDB-backup.x86_64                             10.3.16-1.el8  mariadb
MariaDB-backup.x86_64                             10.3.17-1.el8  mariadb
MariaDB-backup.x86_64                             10.3.18-1.el8  mariadb
MariaDB-backup-debuginfo.x86_64                   10.3.16-1.el8  mariadb
MariaDB-backup-debuginfo.x86_64                   10.3.17-1.el8  mariadb
MariaDB-backup-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-client.x86_64                             10.3.16-1.el8  mariadb
MariaDB-client.x86_64                             10.3.17-1.el8  mariadb
MariaDB-client.x86_64                             10.3.18-1.el8  mariadb
MariaDB-client-debuginfo.x86_64                   10.3.16-1.el8  mariadb
MariaDB-client-debuginfo.x86_64                   10.3.17-1.el8  mariadb
MariaDB-client-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-common.x86_64                             10.3.16-1.el8  mariadb
MariaDB-common.x86_64                             10.3.17-1.el8  mariadb
MariaDB-common.x86_64                             10.3.18-1.el8  mariadb
MariaDB-common-debuginfo.x86_64                   10.3.16-1.el8  mariadb
MariaDB-common-debuginfo.x86_64                   10.3.17-1.el8  mariadb
MariaDB-common-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-connect-engine.x86_64                     10.3.16-1.el8  mariadb
MariaDB-connect-engine.x86_64                     10.3.17-1.el8  mariadb
MariaDB-connect-engine.x86_64                     10.3.18-1.el8  mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.3.16-1.el8  mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.3.17-1.el8  mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.3.18-1.el8  mariadb
MariaDB-cracklib-password-check.x86_64            10.3.16-1.el8  mariadb
MariaDB-cracklib-password-check.x86_64            10.3.17-1.el8  mariadb
MariaDB-cracklib-password-check.x86_64            10.3.18-1.el8  mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.3.16-1.el8  mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.3.17-1.el8  mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.3.18-1.el8  mariadb
MariaDB-devel-debuginfo.x86_64                    10.3.16-1.el8  mariadb
MariaDB-devel-debuginfo.x86_64                    10.3.17-1.el8  mariadb
MariaDB-devel-debuginfo.x86_64                    10.3.18-1.el8  mariadb
MariaDB-gssapi-server.x86_64                      10.3.16-1.el8  mariadb
MariaDB-gssapi-server.x86_64                      10.3.17-1.el8  mariadb
MariaDB-gssapi-server.x86_64                      10.3.18-1.el8  mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.3.16-1.el8  mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.3.17-1.el8  mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.3.18-1.el8  mariadb
MariaDB-server-debuginfo.x86_64                   10.3.16-1.el8  mariadb
MariaDB-server-debuginfo.x86_64                   10.3.17-1.el8  mariadb
MariaDB-server-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-shared.x86_64                             10.3.16-1.el8  mariadb
MariaDB-shared.x86_64                             10.3.17-1.el8  mariadb
MariaDB-shared.x86_64                             10.3.18-1.el8  mariadb
MariaDB-shared-debuginfo.x86_64                   10.3.16-1.el8  mariadb
MariaDB-shared-debuginfo.x86_64                   10.3.17-1.el8  mariadb
MariaDB-shared-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-test-debuginfo.x86_64                     10.3.16-1.el8  mariadb
MariaDB-test-debuginfo.x86_64                     10.3.17-1.el8  mariadb
MariaDB-test-debuginfo.x86_64                     10.3.18-1.el8  mariadb
MariaDB-tokudb-engine.x86_64                      10.3.16-1.el8  mariadb
MariaDB-tokudb-engine.x86_64                      10.3.17-1.el8  mariadb
MariaDB-tokudb-engine.x86_64                      10.3.18-1.el8  mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.3.16-1.el8  mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.3.17-1.el8  mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.3.18-1.el8  mariadb
mariadb-connector-c.x86_64                        3.0.7-1.el8    @AppStream
mariadb-connector-c.x86_64                        3.0.7-1.el8    AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8    @AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8    AppStream
mariadb-connector-c-devel.x86_64                  3.0.7-1.el8    AppStream
mariadb-connector-odbc.x86_64                     3.0.7-1.el8    AppStream
mariadb-java-client.noarch                        2.2.5-2.el8    AppStream

mariadb-server 10.3.18 is missing in both cases ?

mariadb.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1



 Comments   
Comment by George L [ 2019-09-29 ]

also MariaDB-server missing in mariadb.org centos 8 YUM repo too

yum -q list mariadb-* --showduplicates | tr -s ' ' | column -t
Installed                                         Packages      
mariadb-connector-c.x86_64                        3.0.7-1.el8   @AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8   @AppStream
Available                                         Packages      
MariaDB-backup.x86_64                             10.4.6-1.el8  mariadb
MariaDB-backup.x86_64                             10.4.7-1.el8  mariadb
MariaDB-backup.x86_64                             10.4.8-1.el8  mariadb
MariaDB-backup-debuginfo.x86_64                   10.4.6-1.el8  mariadb
MariaDB-backup-debuginfo.x86_64                   10.4.7-1.el8  mariadb
MariaDB-backup-debuginfo.x86_64                   10.4.8-1.el8  mariadb
MariaDB-client.x86_64                             10.4.6-1.el8  mariadb
MariaDB-client.x86_64                             10.4.7-1.el8  mariadb
MariaDB-client.x86_64                             10.4.8-1.el8  mariadb
MariaDB-client-debuginfo.x86_64                   10.4.6-1.el8  mariadb
MariaDB-client-debuginfo.x86_64                   10.4.7-1.el8  mariadb
MariaDB-client-debuginfo.x86_64                   10.4.8-1.el8  mariadb
MariaDB-common.x86_64                             10.4.6-1.el8  mariadb
MariaDB-common.x86_64                             10.4.7-1.el8  mariadb
MariaDB-common.x86_64                             10.4.8-1.el8  mariadb
MariaDB-common-debuginfo.x86_64                   10.4.6-1.el8  mariadb
MariaDB-common-debuginfo.x86_64                   10.4.7-1.el8  mariadb
MariaDB-common-debuginfo.x86_64                   10.4.8-1.el8  mariadb
MariaDB-connect-engine.x86_64                     10.4.6-1.el8  mariadb
MariaDB-connect-engine.x86_64                     10.4.7-1.el8  mariadb
MariaDB-connect-engine.x86_64                     10.4.8-1.el8  mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.4.6-1.el8  mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.4.7-1.el8  mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.4.8-1.el8  mariadb
MariaDB-cracklib-password-check.x86_64            10.4.6-1.el8  mariadb
MariaDB-cracklib-password-check.x86_64            10.4.7-1.el8  mariadb
MariaDB-cracklib-password-check.x86_64            10.4.8-1.el8  mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.4.6-1.el8  mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.4.7-1.el8  mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.4.8-1.el8  mariadb
MariaDB-devel-debuginfo.x86_64                    10.4.6-1.el8  mariadb
MariaDB-devel-debuginfo.x86_64                    10.4.7-1.el8  mariadb
MariaDB-devel-debuginfo.x86_64                    10.4.8-1.el8  mariadb
MariaDB-gssapi-server.x86_64                      10.4.6-1.el8  mariadb
MariaDB-gssapi-server.x86_64                      10.4.7-1.el8  mariadb
MariaDB-gssapi-server.x86_64                      10.4.8-1.el8  mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.4.6-1.el8  mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.4.7-1.el8  mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.4.8-1.el8  mariadb
MariaDB-server-debuginfo.x86_64                   10.4.6-1.el8  mariadb
MariaDB-server-debuginfo.x86_64                   10.4.7-1.el8  mariadb
MariaDB-server-debuginfo.x86_64                   10.4.8-1.el8  mariadb
MariaDB-shared.x86_64                             10.4.6-1.el8  mariadb
MariaDB-shared.x86_64                             10.4.7-1.el8  mariadb
MariaDB-shared.x86_64                             10.4.8-1.el8  mariadb
MariaDB-shared-debuginfo.x86_64                   10.4.6-1.el8  mariadb
MariaDB-shared-debuginfo.x86_64                   10.4.7-1.el8  mariadb
MariaDB-shared-debuginfo.x86_64                   10.4.8-1.el8  mariadb
MariaDB-test-debuginfo.x86_64                     10.4.6-1.el8  mariadb
MariaDB-test-debuginfo.x86_64                     10.4.7-1.el8  mariadb
MariaDB-test-debuginfo.x86_64                     10.4.8-1.el8  mariadb
MariaDB-tokudb-engine.x86_64                      10.4.6-1.el8  mariadb
MariaDB-tokudb-engine.x86_64                      10.4.7-1.el8  mariadb
MariaDB-tokudb-engine.x86_64                      10.4.8-1.el8  mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.4.6-1.el8  mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.4.7-1.el8  mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.4.8-1.el8  mariadb
mariadb-connector-c.x86_64                        3.0.7-1.el8   @AppStream
mariadb-connector-c.x86_64                        3.0.7-1.el8   AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8   @AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8   AppStream
mariadb-connector-c-devel.x86_64                  3.0.7-1.el8   AppStream
mariadb-connector-odbc.x86_64                     3.0.7-1.el8   AppStream
mariadb-java-client.noarch                        2.2.5-2.el8   AppStream

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
#priority=1

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

yum -q list MariaDB-* --disablerepo=AppStream| tr -s ' ' | column -t   
Installed                                         Packages       
mariadb-connector-c.x86_64                        3.0.7-1.el8    @AppStream
mariadb-connector-c-config.noarch                 3.0.7-1.el8    @AppStream
Available                                         Packages       
MariaDB-backup.x86_64                             10.3.18-1.el8  mariadb
MariaDB-backup-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-client.x86_64                             10.3.18-1.el8  mariadb
MariaDB-client-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-common.x86_64                             10.3.18-1.el8  mariadb
MariaDB-common-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-connect-engine.x86_64                     10.3.18-1.el8  mariadb
MariaDB-connect-engine-debuginfo.x86_64           10.3.18-1.el8  mariadb
MariaDB-cracklib-password-check.x86_64            10.3.18-1.el8  mariadb
MariaDB-cracklib-password-check-debuginfo.x86_64  10.3.18-1.el8  mariadb
MariaDB-devel.x86_64                              10.3.18-1.el8  mariadb
MariaDB-devel-debuginfo.x86_64                    10.3.18-1.el8  mariadb
MariaDB-gssapi-server.x86_64                      10.3.18-1.el8  mariadb
MariaDB-gssapi-server-debuginfo.x86_64            10.3.18-1.el8  mariadb
MariaDB-server.x86_64                             10.3.18-1.el8  mariadb
MariaDB-server-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-shared.x86_64                             10.3.18-1.el8  mariadb
MariaDB-shared-debuginfo.x86_64                   10.3.18-1.el8  mariadb
MariaDB-test.x86_64                               10.3.18-1.el8  mariadb
MariaDB-test-debuginfo.x86_64                     10.3.18-1.el8  mariadb
MariaDB-tokudb-engine.x86_64                      10.3.18-1.el8  mariadb
MariaDB-tokudb-engine-debuginfo.x86_64            10.3.18-1.el8  mariadb

Comment by Daniel Bartholomew [ 2019-10-17 ]

I think the culprit is that the MariaDB packages in the AppStream repo have Epoch=3:

[buildbot@centos8-amd64 ~]$ sudo dnf info MariaDB-server
Last metadata expiration check: 0:00:11 ago on Thu 17 Oct 2019 07:58:15 PM UTC.
Available Packages
Name         : mariadb-server
Epoch        : 3
Version      : 10.3.11
Release      : 2.module_el8.0.0+35+6f2527ed
Arch         : x86_64
Size         : 16 M
Source       : mariadb-10.3.11-2.module_el8.0.0+35+6f2527ed.src.rpm
Repo         : AppStream
...

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 ]

> Michal Schorm, can you shed some light on it? Why RHEL8 uses Epoch=3 for mariadb-server, do you know?

Sure,
Since RHEL is branched from Fedora at some point, it just inherited whatever was in Fedora.
And in Fedora - for historical reasons - is epoch 3, because it needed to be bumped to fix some issues.

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 ...
A lot of issues - i believe - is actually solved by the fact you use uppercase prefix "MariaDB", so the actual names of the RPMs are different.

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:

https://bugzilla.redhat.com/show_bug.cgi?id=1780363

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.
This issue is about the modules and not the standalone RPMs (as e.g. in RHEL7).

That is IMHO deffinitelly a bug in DNF and until it is solved there, the issue will persist.
Only thing we can IMHO do now is to find a suitable workaround.
And I think I found one.

There is an option for emergency situations, that worked for me - as I tested in on both RHEL 8 & CentOS 8.
https://dnf.readthedocs.io/en/latest/modularity.html#hotfix-repositories

If you specify

module_hotfixes=true

In the MariaDB repo file (on the user side, in the /etc/yum.repos.d/ ),
it will protect the MariaDB repository from package filtering.

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.

Error: 
 Problem: package MariaDB-tokudb-engine-10.4.11-1.el8.x86_64 requires MariaDB-server = 10.4.11-1.el8, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package MariaDB-server-10.4.11-1.el8.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Adding --nobest did not help.

Error: 
 Problem: conflicting requests
  - package MariaDB-tokudb-engine-10.4.10-1.el8.x86_64 requires MariaDB-server = 10.4.10-1.el8, but none of the providers can be installed
  - package MariaDB-tokudb-engine-10.4.11-1.el8.x86_64 requires MariaDB-server = 10.4.11-1.el8, but none of the providers can be installed
  - package MariaDB-tokudb-engine-10.4.8-1.el8.x86_64 requires MariaDB-server = 10.4.8-1.el8, but none of the providers can be installed
  - package MariaDB-server-10.4.10-1.el8.x86_64 is excluded
  - package MariaDB-server-10.4.11-1.el8.x86_64 is excluded
  - package MariaDB-server-10.4.8-1.el8.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages)

Comment by Geoff Montee (Inactive) [ 2019-12-20 ]

error10,

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:

# install dependencies
sudo yum install perl-DBI libaio libsepol lsof boost-program-options
# install MariaDB, but with AppStream disabled
sudo yum install --repo='mariadb-main' MariaDB-server MariaDB-backup MariaDB-tokudb-engine

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.

Generated at Thu Feb 08 09:01:17 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.