Bug 1638464 - holland-xtrabackup dependency issues in version 1.1.7 on EL7
Summary: holland-xtrabackup dependency issues in version 1.1.7 on EL7
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: holland
Version: epel7
Hardware: noarch
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Pete Travis
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-10-11 16:16 UTC by paul.whitaker
Modified: 2018-10-14 23:05 UTC (History)
5 users (show)

Fixed In Version: holland-1.1.8-2.el6 holland-1.1.8-2.el7
Clone Of:
Environment:
Last Closed: 2018-10-14 22:21:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description paul.whitaker 2018-10-11 16:16:24 UTC
Description of problem:
Cannot install holland-xtrabackup 1.1.7 and percona-xtrabackup-24 at the same time due to dependency issues

Version-Release number of selected component (if applicable):
1.1.7-1


How reproducible:
Always


Steps to Reproduce:
1. Install Percona release package:
yum install http://repo.percona.com/release/percona-release-latest.noarch.rpm

2. Attempt to install holland-xtrabackup & Percona Xtrabackup 2.4
yum install holland-xtrabackup percona-xtrabackup-24

Actual results:
# yum --disableexcludes=all install holland-xtrabackup percona-xtrabackup-24
Loaded plugins: rhnplugin
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package holland-xtrabackup.noarch 0:1.1.7-1.el7 will be installed
--> Processing Dependency: holland-common = 1.1.7-1.el7 for package: holland-xtrabackup-1.1.7-1.el7.noarch
--> Processing Dependency: percona-xtrabackup for package: holland-xtrabackup-1.1.7-1.el7.noarch
--> Processing Dependency: MySQL-python for package: holland-xtrabackup-1.1.7-1.el7.noarch
---> Package percona-xtrabackup-24.x86_64 0:2.4.12-1.el7 will be installed
--> Processing Dependency: libev.so.4()(64bit) for package: percona-xtrabackup-24-2.4.12-1.el7.x86_64
--> Running transaction check
---> Package MySQL-python.x86_64 0:1.2.5-1.el7 will be installed
---> Package holland-common.noarch 0:1.1.7-1.el7 will be installed
--> Processing Dependency: holland = 1.1.7-1.el7 for package: holland-common-1.1.7-1.el7.noarch
---> Package libev.x86_64 0:4.15-3.el7 will be installed
---> Package percona-xtrabackup.x86_64 0:2.3.10-1.el7 will be installed
--> Running transaction check
---> Package holland.noarch 0:1.1.7-1.el7 will be installed
--> Processing Dependency: python2-six for package: holland-1.1.7-1.el7.noarch
--> Processing Dependency: python2-future for package: holland-1.1.7-1.el7.noarch
--> Running transaction check
---> Package python2-future.noarch 0:0.16.0-6.el7 will be installed
---> Package python2-six.noarch 0:1.9.0-0.el7 will be installed
--> Processing Conflict: percona-xtrabackup-24-2.4.12-1.el7.x86_64 conflicts percona-xtrabackup
--> Finished Dependency Resolution
Error: percona-xtrabackup-24 conflicts with percona-xtrabackup-2.3.10-1.el7.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


Expected results:
Both pacakges install with no dependency issues

Additional info:
This is caused by a new dependency added to holland-xtrabackup for 'percona-xtrabackup':

# repoquery --plugins holland-xtrabackup
holland-xtrabackup-0:1.1.7-1.el7.noarch

# repoquery --plugins --requires holland-xtrabackup
MySQL-python
config(holland-xtrabackup) = 1.1.7-1.el7
holland-common = 1.1.7-1.el7
percona-xtrabackup
python(abi) = 2.7

However, the 'percona-xtrabackup' dependency is only provided by the 'percona-xtrabackup' package, which only goes up to version 2.3:

# repoquery --plugins --whatprovides percona-xtrabackup
percona-xtrabackup-0:2.2.9-4.el7.x86_64
percona-xtrabackup-0:2.2.11-1.el7.x86_64
percona-xtrabackup-0:2.2.8-5059.el7.x86_64
percona-xtrabackup-0:2.3.5-1.el7.x86_64
percona-xtrabackup-0:2.2.4-5004.el7.x86_64
percona-xtrabackup-0:2.3.7-2.el7.x86_64
percona-xtrabackup-0:2.2.5-5027.el7.x86_64
percona-xtrabackup-0:2.2.12-1.el7.x86_64
percona-xtrabackup-0:2.3.2-1.el7.x86_64
percona-xtrabackup-0:2.2.10-1.el7.x86_64
percona-xtrabackup-0:2.2.9-5067.el7.x86_64
percona-xtrabackup-0:2.3.6-1.el7.x86_64
percona-xtrabackup-0:2.3.3-1.el7.x86_64
percona-xtrabackup-0:2.2.6-5042.el7.x86_64
percona-xtrabackup-0:2.3.7-1.el7.x86_64
percona-xtrabackup-0:2.3.8-1.el7.x86_64
percona-xtrabackup-0:2.2.7-5050.el7.x86_64
percona-xtrabackup-0:2.3.9-1.el7.x86_64
percona-xtrabackup-0:2.3.10-1.el7.x86_64
percona-xtrabackup-0:2.3.6-1.el7.x86_64
percona-xtrabackup-0:2.3.4-1.el7.x86_64

The percona-xtrabackup-24 package only provides percona-xtrabackup-24:

# repoquery --plugins --provides percona-xtrabackup-24
percona-xtrabackup-24 = 2.4.12-1.el7
percona-xtrabackup-24(x86-64) = 2.4.12-1.el7

The previous version of holland-xtrabackup did not have this dependency, and worked fine with Percona Xtrabackup 2.4:

# repoquery --plugins --requires holland-xtrabackup-1.0.14-3.el7
MySQL-python
config(holland-xtrabackup) = 1.0.14-3.el7
holland-common = 1.0.14-3.el7
python(abi) = 2.7

Comment 1 Carl George 2018-10-11 20:55:31 UTC
holland-xtrabackup has always needed the xtrabackup command to function, I'm just finally enforcing that with an RPM dependency.  percona-xtrabackup is available in EPEL7, hence this section in the spec file:

    %if 0%{?rhel} >= 7
    Requires: percona-xtrabackup
    %endif

I wasn't aware that percona shipped a package of this tool with the name percona-xtrabackup-24.  Ideally they would have that package obsolete and provide percona-xtrabackup, but we don't live in an ideal world.  I'll remove the dependency, since there is a fallback in the code to print a clear error message about the command missing.

https://github.com/holland-backup/holland/blob/v1.1.7/plugins/holland.backup.xtrabackup/holland/backup/xtrabackup/plugin.py#L139

Comment 2 Pete Travis 2018-10-12 04:29:36 UTC
I think it's best to leave the dependency in place, since the package does legitimately require xtrabackup to be of any use.  I'm rebuilding with a more accommodating requirement for /usr/bin/xtrabackup, which should help with less graceful transitions like this.

[pete@workstation (epel7) holland]$ rpm -qp percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm -l |grep ^/usr/bin
warning: percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
/usr/bin/innobackupex
/usr/bin/xbcloud
/usr/bin/xbcloud_osenv
/usr/bin/xbcrypt
/usr/bin/xbstream
/usr/bin/xtrabackup


ref. https://src.fedoraproject.org/rpms/holland/c/6a3e6b0f4310d669baa4e44828b104ef80120ebc?branch=epel7

Comment 3 Fedora Update System 2018-10-12 04:32:48 UTC
holland-1.1.8-2.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-94ec6e1b9e

Comment 4 Fedora Update System 2018-10-12 04:33:41 UTC
holland-1.1.8-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-b4e4b3f3f1

Comment 5 Fedora Update System 2018-10-12 21:05:35 UTC
holland-1.1.8-2.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-b4e4b3f3f1

Comment 6 Fedora Update System 2018-10-12 21:36:23 UTC
holland-1.1.8-2.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-94ec6e1b9e

Comment 7 Fedora Update System 2018-10-14 22:21:30 UTC
holland-1.1.8-2.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2018-10-14 23:05:20 UTC
holland-1.1.8-2.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.