openwrt / openwrt/packages

Borgbackup: needs dependency added on python3-openssl

Open
#28,156 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Package Name

Borgbackup

Maintainer

@julienmalik

OpenWrt Version

25.12.0-rc1

OpenWrt Target/Subtarget

ipq806x/generic

Steps to Reproduce
  1. Compile borgbackup and dependencies (from current master, python-pyfuse3 issue resolved by bump to pyfuse3 3.4.1)
  2. Install borgbackup (borgbackup-1.4.3-r1.apk, self built)
  3. Execute:
# borg -V
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/borg/archiver.py", line 47, in <module>
  File "/usr/lib/python3.13/site-packages/borg/archive.py", line 24, in <module>
  File "/usr/lib/python3.13/site-packages/borg/cache.py", line 31, in <module>
  File "/usr/lib/python3.13/site-packages/borg/crypto/key.py", line 10, in <module>
ImportError: cannot import name 'pbkdf2_hmac' from 'hashlib' (/usr/lib/python3.13/hashlib.pyc)
  1. Install python3-openssl (python3-openssl-3.13.9-r2.apk, from 25.12.0-rc1 repository)
  2. Execute:
# borg -V
borg 1.4.3

Actual Behaviour

See steps to reproduce above.
See https://github.com/borgbackup/borg/issues/8691
See https://github.com/borgbackup/borg/issues/8691#issuecomment-2743020675
See https://docs.python.org/3/library/hashlib.html#hashlib.pbkdf2_hmac:

hashlib.pbkdf2_hmac: Changed in version 3.12: Function now only available when Python is built with OpenSSL. The slow pure Python implementation has been removed.

Solution: add dependency +python3-openssl to borgbackup makefile

I will raise a separate issue for python-pyfuse3

Confirmation Checklist

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Borgbackup package Makefile and review its dependency declarations. Reproduce the failure with borg -V without python3-openssl, then verify that installing the declared dependency makes the command report borg 1.4.3 successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.