Bug 2406255

Summary: REUSE 6.1.2 fails to run (throws error)
Product: [Fedora] Fedora Reporter: Heroic Balloon <redhat.frbq0>
Component: reuseAssignee: Jan Staněk <jstanek>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 42CC: jstanek, python-packagers-sig
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-10-29 13:14:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Heroic Balloon 2025-10-24 21:00:05 UTC
Description of problem:

REUSE 6.1.2 fails to run (throws error).

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

6.1.2-2.fc42 (stable)
6.1.2-3.fc42 (testing)

How reproducible:

Always.

Steps to Reproduce:

1. Install REUSE (`dnf install reuse`);
2. Run `reuse` or `reuse --help`;
3. An error is thrown.

Actual results:

> reuse
Traceback (most recent call last):
  File "/usr/bin/reuse", line 5, in <module>
    from reuse.cli.main import main
  File "/usr/lib64/python3.13/site-packages/reuse/cli/__init__.py", line 7, in <module>
    from . import (
    ...<8 lines>...
    )
  File "/usr/lib64/python3.13/site-packages/reuse/cli/annotate.py", line 30, in <module>
    from .._annotate import add_header_to_file
  File "/usr/lib64/python3.13/site-packages/reuse/_annotate.py", line 34, in <module>
    from .extract import contains_reuse_info
  File "/usr/lib64/python3.13/site-packages/reuse/extract.py", line 111, in <module>
    _MAGIC = get_encoding_module().Magic(mime_encoding=True)
TypeError: Magic.__init__() got an unexpected keyword argument 'mime_encoding'

Expected results:

REUSE outputs its help message.

Additional info:

Version 5.0.2-2.fc42 runs as expected.

Comment 1 Jan Staněk 2025-10-29 13:14:42 UTC
This is the result of new way of detecting file encoding and it's incompatibility with python-file-magic package. The 6.1.2-3.fc42 package that is now on it's way to stable addresses this bug.

*** This bug has been marked as a duplicate of bug 2402682 ***

Comment 2 Heroic Balloon 2025-10-29 13:36:38 UTC
As I previously mentioned, the error persists on version 6.1.2-3.fc42.

Since upgrading to Fedora 43, I'm now on version 5.0.2-9.fc43 (which has no problems) but to test if this is fixed,
I updated to version 6.1.2-3.fc43, with no luck:

> dnf info reuse
Updating and loading repositories:
Repositories loaded.
Installed packages
Name            : reuse
Epoch           : 0
Version         : 6.1.2
Release         : 3.fc43
Architecture    : noarch
Installed size  : 2.7 MiB
Source          : reuse-6.1.2-3.fc43.src.rpm
From repository : updates-testing
Summary         : A tool for compliance with the REUSE recommendations
URL             : https://github.com/fsfe/reuse-tool
License         : Apache-2.0 AND CC0-1.0 AND CC-BY-SA-4.0 AND GPL-3.0-or-later
Description     : A tool for compliance with the REUSE recommendations. Essentially,
                : it is a linter that checks for a project's compliance, and a compiler that
                : generates a project's bill of materials.
Vendor          : Fedora Project

> reuse
Traceback (most recent call last):
  File "/usr/bin/reuse", line 5, in <module>
    from reuse.cli.main import main
  File "/usr/lib64/python3.14/site-packages/reuse/cli/__init__.py", line 7, in <module>
    from . import (
    ...<8 lines>...
    )
  File "/usr/lib64/python3.14/site-packages/reuse/cli/annotate.py", line 30, in <module>
    from .._annotate import add_header_to_file
  File "/usr/lib64/python3.14/site-packages/reuse/_annotate.py", line 34, in <module>
    from .extract import contains_reuse_info
  File "/usr/lib64/python3.14/site-packages/reuse/extract.py", line 111, in <module>
    _MAGIC = get_encoding_module().Magic(mime_encoding=True)
TypeError: Magic.__init__() got an unexpected keyword argument 'mime_encoding'

Extra package versions:

> dnf info python3-file-magic
Updating and loading repositories:
Repositories loaded.
Installed packages
Name            : python3-file-magic
Epoch           : 0
Version         : 5.46
Release         : 8.fc43
Architecture    : noarch
Installed size  : 28.5 KiB
Source          : file-5.46-8.fc43.src.rpm
From repository : fedora
Summary         : Python 3 bindings for the libmagic API
URL             : https://www.darwinsys.com/file/
License         : BSD-2-Clause-Darwin AND BSD-2-Clause
Description     : This package contains the Python 3 bindings to allow access to the
                : libmagic API. The libmagic library is also used by the familiar
                : file(1) command.
Vendor          : Fedora Project

> dnf info python3-magic
Updating and loading repositories:
Repositories loaded.
Available packages
Name           : python3-magic
Epoch          : 0
Version        : 0.4.27
Release        : 15.fc43
Architecture   : noarch
Download size  : 31.9 KiB
Installed size : 68.1 KiB
Source         : python-magic-0.4.27-15.fc43.src.rpm
Repository     : fedora
Summary        : File type identification using libmagic
URL            : https://github.com/ahupp/python-magic
License        : MIT
Description    : This module uses ctypes to access the libmagic file type identification
               : library. It makes use of the local magic database and supports both textual
               : and MIME-type output.
Vendor         : Fedora Project