borgbackup / borg

Deduplicating archiver with compression and authenticated encryption.
https://www.borgbackup.org/
Other
10.73k stars 734 forks source link

Maximum supported msgpack requirement -- still valid today? #8144

Closed he32 closed 3 months ago

he32 commented 3 months ago

Have you checked borgbackup docs, FAQ, and open GitHub issues?

Yes

Is this a BUG / ISSUE report or a QUESTION?

Question

System information. For client/server mode post info for both machines.

Server: Linux Client: NetBSD/i386 9.3 w/python 3.11

Your borg version (borg -V).

borg 1.2.7

Full borg commandline that lead to the problem (leave away excludes and passwords)

I run borg via borgmatic, with borgmatic --verbosity 1 --syslog-verbosity -2 --list --stats

Describe the problem you're observing.

I'm installing borg via NetBSD's packaging system, pkgsrc. In the most recent version, this gets me py311-msgpack-1.0.8. This causes borg to refuse to run with:

backupserver: Error running actions for repository
You do not have a supported version of the msgpack python package installed. Terminating.
This should never happen as specific, supported versions are required by our setup.py.

Yes, I know, it says in the following "do not contact borgbackup support about this". But...

I have read both https://github.com/borgbackup/borg/issues/3753 and https://github.com/borgbackup/borg/commit/39761ebadc9325a7cc7e931144e2709effe8f0f0

So... borg insists that msgpack version 1.0.7 is the maximum supported version. The issue referenced above appears to mostly be about the era of python 3.4 / 3.5, and msgpack versions 0.5.*. Is this still relevant to the current versions of msgpack? Leaving such a requirement that another package "must not be newer than this particular version" will tend to break normal package upgrade procedures. And the "allow 1.0.7" commit was a little short on details of why that is now OK, but still left the "must not be newer than this particular version (1.0.7)" requirement in place.

I tried duplicating the "allow msgpack 1.0.7" to also allow 1.0.8, and the resulting borg client appears to work nicely. Yes, I know, I have voided my warranty...

ThomasWaldmann commented 3 months ago

It is the responsibility of the dist package maintainer(s) to not break the requirements of packages, so you need to contact the netbsd packagers of borg and msgpack about this.

ThomasWaldmann commented 3 months ago

The reason why it is that strict is because there have been broken msgpack releases in the past. So I want to first test new releases before they are "officially accepted" by borg.

Specifically about msgpack 1.0.8: it seems to work ok in my first tests, so I already added a commit allowing it in next borg release. Platform testing of that is still to do, but that is part of the usual release procedure, so anything strange would be noticed then.

ThomasWaldmann commented 3 months ago

borg 1.2.8 was released, accepting msgpack 1.0.8.

Upcoming borg 1.4.0b2 will also accept msgpack 1.0.8.