Bug 1630992 - python-msgpack-0.5.6-5.fc30 breaks borgbackup
Summary: python-msgpack-0.5.6-5.fc30 breaks borgbackup
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-msgpack
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miro Hrončok
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1632147 1632885 1633465 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-09-19 16:24 UTC by Kevin Fenzi
Modified: 2019-05-01 18:26 UTC (History)
21 users (show)

Fixed In Version: borgbackup-1.1.7-2.fc30
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-09-27 17:28:54 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Kevin Fenzi 2018-09-19 16:24:11 UTC
With python3-msgpack-0.5.6-5.fc30 installed: 

➜  ~ borg --help                                                                                                      
Traceback (most recent call last):                            
  File "/usr/bin/borg", line 6, in <module>                                                                           
    from pkg_resources import load_entry_point 
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3095, in <module>                       
    @_call_aside                                                                                                  
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3079, in _call_aside                         
    f(*args, **kwargs)                                                                                                
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3108, in _initialize_master_working_set
    working_set = WorkingSet._build_master()     
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 570, in _build_master                       
    ws.require(__requires__)                                           
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 888, in require
    needed = self.resolve(parse_requirements(requirements))                                                           
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 774, in resolve                             
    raise DistributionNotFound(req, requirers)                                                                        
pkg_resources.DistributionNotFound: The 'msgpack-python!=0.5.0,!=0.5.1,!=0.5.2,!=0.5.3,!=0.5.4,!=0.5.5,<=0.5.6,>=0.4.6'
 distribution was not found and is required by borgbackup    

with 0.5.6-4.fc30 installed everything works as expected. 

Could well be some bug in borg as well, but since the change was here, filing here first. :)

Comment 1 Wietse Muizelaar 2018-09-23 17:56:11 UTC
I guess borgbackup needs to have it's dependency changed, see: https://github.com/borgbackup/borg/issues/3889

Comment 2 Daniel Alley 2018-09-23 22:19:10 UTC
This is a problem with current stable Fedora (28), too.

[dalley@localhost Backup Drive]$ sudo dnf info python3-msgpack
Last metadata expiration check: 0:59:50 ago on Sun 23 Sep 2018 05:17:30 PM EDT.
Installed Packages
Name         : python3-msgpack
Version      : 0.5.6
Release      : 5.fc28
Arch         : x86_64
Size         : 296 k
Source       : python-msgpack-0.5.6-5.fc28.src.rpm

Same traceback when using borgbackup as in the post.

Comment 3 Miro Hrončok 2018-09-23 22:32:10 UTC
Quick fix is to patch borgbackup setup.py to require msgpack instead of msgpack-python.

I'm sorry about the breakage. I've added  backwards facing provide but I haven't tough about entrypoints. Being able to provide both metadata for msgpack-python and msgpack would be nice but very hackish.

I'll gladly send patches for what I've broken (at least when it's not breakage on purpose :D), working on a downstream PR, will send upstream.

Comment 4 Miro Hrončok 2018-09-23 22:41:49 UTC
F30: https://src.fedoraproject.org/rpms/borgbackup/pull-request/1
F29: https://src.fedoraproject.org/rpms/borgbackup/pull-request/2
F28: https://src.fedoraproject.org/rpms/borgbackup/pull-request/3

In the right columns of those PRs, there are simple-koji-ci scratch builds. Once they build, could you please check if it works?

Comment 5 Miro Hrončok 2018-09-23 22:46:17 UTC
Upstream is ware https://github.com/borgbackup/borg/pull/3891

> i will change to "msgpack" name, but it'll have to wait until 1.2.0.

Comment 6 Miro Hrončok 2018-09-23 22:47:00 UTC
*aware

Comment 7 Kevin Fenzi 2018-09-24 00:13:06 UTC
I can confirm the rawhide one works fine here.

Comment 9 Fedora Update System 2018-09-24 08:46:59 UTC
borgbackup-1.1.7-2.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-e7aa6d923f

Comment 10 Fedora Update System 2018-09-24 08:47:57 UTC
borgbackup-1.1.7-2.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-390e4ad530

Comment 11 Benjamin Pereto 2018-09-24 08:55:47 UTC
sorry i'm late to the party, i have pushed updates of borgbackup for f28 and f29

Comment 12 Felix Schwarz 2018-09-24 08:56:25 UTC
*** Bug 1632147 has been marked as a duplicate of this bug. ***

Comment 13 Christophe Fergeau 2018-09-26 08:39:07 UTC
*** Bug 1632885 has been marked as a duplicate of this bug. ***

Comment 14 Fedora Update System 2018-09-27 02:08:31 UTC
borgbackup-1.1.7-2.fc29 has been pushed to the Fedora 29 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-2018-390e4ad530

Comment 15 Fedora Update System 2018-09-27 04:46:36 UTC
borgbackup-1.1.7-2.fc28 has been pushed to the Fedora 28 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-2018-e7aa6d923f

Comment 16 Felix Schwarz 2018-09-27 06:37:02 UTC
*** Bug 1633465 has been marked as a duplicate of this bug. ***

Comment 17 C L 2018-09-27 14:19:46 UTC
Similar problem has been detected:

Given borgbackup version 1.1.7-1.fc28 is installed from F28 updates repo
And python3-msgpack version 0.5.6-4.fc28 is installed from F28 updates repo
When I run "borg --help" from the command-line
Then I receive the expected borg help output.

When python3-msgpack is updated to version 0.5.6-5.fc28 from F28 updates repo
And I run "borg --help" from the command-line
Then I receive a "pkg_resources.DistributionNotFound: The 'msgpack-python!=0.5.0,!=0.5.1,!=0.5.2,!=0.5.3,!=0.5.4,!=0.5.5,<=0.5.6,>=0.4.6' distribution was not found and is required by borgbackup" error.

reporter:       libreport-2.9.5
cmdline:        /usr/bin/python3 /usr/bin/borg --help
crash_function: resolve
exception_type: pkg_resources.DistributionNotFound
executable:     /usr/bin/borg
interpreter:    python3-3.6.6-1.fc28.x86_64
kernel:         4.18.9-200.fc28.x86_64
package:        borgbackup-1.1.7-1.fc28
reason:         __init__.py:774:resolve:pkg_resources.DistributionNotFound: The 'msgpack-python!=0.5.0,!=0.5.1,!=0.5.2,!=0.5.3,!=0.5.4,!=0.5.5,<=0.5.6,>=0.4.6' distribution was not found and is required by borgbackup
runlevel:       N 5
type:           Python3
uid:            1000

Comment 18 Miro Hrončok 2018-09-27 14:52:38 UTC
Hang on. The fix is on it's way to the updates repo in borgbackup-1.1.7-2.fc28.

Comment 19 Stefan Schwarzer 2018-09-27 14:54:27 UTC
(In reply to C L from comment #17)
> Given borgbackup version 1.1.7-1.fc28 is installed from F28 updates repo
> And python3-msgpack version 0.5.6-4.fc28 is installed from F28 updates repo
> When I run "borg --help" from the command-line
> Then I receive the expected borg help output.
> 
> When python3-msgpack is updated to version 0.5.6-5.fc28 from F28 updates repo
> And I run "borg --help" from the command-line
> Then I receive a "pkg_resources.DistributionNotFound: The
> 'msgpack-python!=0.5.0,!=0.5.1,!=0.5.2,!=0.5.3,!=0.5.4,!=0.5.5,<=0.5.6,>=0.4.
> 6' distribution was not found and is required by borgbackup" error.

Same for me. As a workaround, I downgraded `python3-msgpack` with `dnf downgrade`. This implicitly downgrades `borgbackup` though, which loses a few bug fixes between that package and the newest.

Comment 20 Miro Hrončok 2018-09-27 16:26:51 UTC
Use `dnf update borkgbackup --enablerpo=updates-testing` instead to get the fixed new version.

Comment 21 Fedora Update System 2018-09-27 17:28:54 UTC
borgbackup-1.1.7-2.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 22 Fedora Update System 2018-10-04 14:09:39 UTC
borgbackup-1.1.7-2.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.

Comment 23 gyvesme 2019-05-01 18:11:58 UTC
Hello,

The issue still exist on fedora 30.
cat /etc/redhat-release 
Fedora release 30 (Thirty)

dnf info borgbackup
Dernière vérification de l’expiration des métadonnées effectuée il y a 1:11:18 le mer. 01 mai 2019 18:58:44 CEST.
Paquets installés
Nom          : borgbackup
Version      : 1.1.7
Publication  : 2.fc30
Architecture : x86_64
Taille       : 4.1 M
Source       : borgbackup-1.1.7-2.fc30.src.rpm
Dépôt        : @System
Depuis le dé : fedora
Résumé       : A deduplicating backup program with compression and authenticated encryption
URL          : https://borgbackup.readthedocs.org
Licence      : BSD
Description  : BorgBackup (short: Borg) is a deduplicating backup program. Optionally, it
             : supports compression and authenticated encryption.

dnf info python3-msgpack
Dernière vérification de l’expiration des métadonnées effectuée il y a 1:10:42 le mer. 01 mai 2019 18:58:44 CEST.
Paquets installés
Nom          : python3-msgpack
Version      : 0.6.1
Publication  : 2.fc30
Architecture : x86_64
Taille       : 283 k
Source       : python-msgpack-0.6.1-2.fc30.src.rpm
Dépôt        : @System
Depuis le dé : fedora
Résumé       : A Python MessagePack (de)serializer
URL          : https://msgpack.org/
Licence      : ASL 2.0
Description  : MessagePack is a binary-based efficient data interchange format that is
             : focused on high performance. It is like JSON, but very fast and small.
             : This is a Python 3.7 (de)serializer for MessagePack.


borg -v
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (msgpack 0.6.1 (/usr/lib64/python3.7/site-packages), Requirement.parse('msgpack!=0.5.0,!=0.5.1,!=0.5.2,!=0.5.3,!=0.5.4,!=0.5.5,<=0.5.6,>=0.4.6'), {'borgbackup'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/borg", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3191, in <module>
    @_call_aside
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3175, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3204, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 585, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 598, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'msgpack!=0.5.0,!=0.5.1,!=0.5.2,!=0.5.3,!=0.5.4,!=0.5.5,<=0.5.6,>=0.4.6' distribution was not found and is required by borgbackup

Comment 24 Miro Hrončok 2019-05-01 18:26:42 UTC
borgbackup was updated in F29 but maybe not in F30.

I suggest opening a separate borgbackup bugzilla.


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