Skip to content

Dockerfile: Fix cdrdao version detection & discid issues with trixie update - #689

Open
sjrct wants to merge 4 commits into
whipper-team:dockerfile-trixiefrom
sjrct:dockerfile-trixie-fix
Open

sjrct wants to merge 4 commits into
whipper-team:dockerfile-trixiefrom
sjrct:dockerfile-trixie-fix

Conversation

@sjrct

@sjrct sjrct commented Jun 14, 2026 •

Copy link
Copy Markdown
Contributor

When I tested #668, I ran into the issues reported there and an issue with the python discid package not being installed.

This fixes those issues as follows:

  • Change the version detection to break at the first space, rather than include everything after the version number as well
  • Re-add the discid pip package. I don't believe there is a debian package, at least not that I could find.
  • Run pip install . rather than setup.py directly to fix the 0.0.0 version issue
    • Remove unused PyGObject that was causing that to fail

I was able to rip a CD with this branch

sjrct added 2 commits June 14, 2026 15:25
Newer crdo gives "1.2.5 - (C) Andreas Mueller <andreas@daneb.de>" when
we only want the version number, so change the regex to break at the
first space.

Signed-off-by: Chris Harding <sjrct@users.noreply.github.com>
I don't believe there is a debian package for this, at least not that I
could see.

Signed-off-by: Chris Harding <sjrct@users.noreply.github.com>
Using pip install . rather than running setup.py directly correctly sets
up the whipper version. However, it was then failing when installing
PyGObject/pycairo. But nothing appears to use that, so I removed it.

Signed-off-by: Chris Harding <sjrct@users.noreply.github.com>
@orhid

orhid commented Aug 4, 2026

Copy link
Copy Markdown

unfortunately i get an error trying to build this, seems like there is a conflict with some debian package

 > [8/9] RUN cd /whipper && pip install . --break-system-packages     && rm -rf /whipper     && whipper -v:                        
3.585 Processing /whipper                                                                                                          
3.601   Installing build dependencies: started                                                                                     
10.94   Installing build dependencies: finished with status 'done'                                                                 
10.96   Getting requirements to build wheel: started                                                                               
15.03   Getting requirements to build wheel: finished with status 'done'
15.05   Preparing metadata (pyproject.toml): started
17.07   Preparing metadata (pyproject.toml): finished with status 'done'
17.13 Requirement already satisfied: musicbrainzngs in /usr/lib/python3/dist-packages (from whipper==0.1.dev1656+g797b458dc) (0.7.1)
17.13 Requirement already satisfied: mutagen in /usr/lib/python3/dist-packages (from whipper==0.1.dev1656+g797b458dc) (1.47.0)
18.17 Collecting pycdio (from whipper==0.1.dev1656+g797b458dc)
18.36   Downloading pycdio-2.1.1.tar.gz (246 kB)
18.75   Preparing metadata (setup.py): started
20.21   Preparing metadata (setup.py): finished with status 'done'
20.23 Requirement already satisfied: ruamel.yaml in /usr/lib/python3/dist-packages (from whipper==0.1.dev1656+g797b458dc) (0.18.10)
20.48 Collecting setuptools_scm (from whipper==0.1.dev1656+g797b458dc)
20.49   Using cached setuptools_scm-10.2.1-py3-none-any.whl.metadata (6.7 kB)
20.52 Requirement already satisfied: discid in /usr/local/lib/python3.13/dist-packages (from whipper==0.1.dev1656+g797b458dc) (1.4.2)
20.63 Collecting vcs-versioning<3,>=2.0.0.dev0 (from setuptools_scm->whipper==0.1.dev1656+g797b458dc)
20.64   Using cached vcs_versioning-2.2.3-py3-none-any.whl.metadata (1.7 kB)
20.66 Requirement already satisfied: packaging>=20 in /usr/lib/python3/dist-packages (from setuptools_scm->whipper==0.1.dev1656+g797b458dc) (25.0)
20.67 Requirement already satisfied: setuptools in /usr/local/lib/python3.13/dist-packages (from setuptools_scm->whipper==0.1.dev1656+g797b458dc) (83.0.0)
20.89 Collecting packaging>=20 (from setuptools_scm->whipper==0.1.dev1656+g797b458dc)
20.90   Using cached packaging-26.2-py3-none-any.whl.metadata (3.5 kB)
20.99 Using cached setuptools_scm-10.2.1-py3-none-any.whl (29 kB)
21.00 Using cached vcs_versioning-2.2.3-py3-none-any.whl (108 kB)
21.02 Using cached packaging-26.2-py3-none-any.whl (100 kB)
21.07 Building wheels for collected packages: whipper, pycdio
21.08   Building wheel for whipper (pyproject.toml): started
25.55   Building wheel for whipper (pyproject.toml): finished with status 'done'
25.57   Created wheel for whipper: filename=whipper-0.1.dev1656+g797b458dc-cp313-cp313-linux_x86_64.whl size=308050 sha256=446e7acbafc9f5bc2eb8840eb6f4ed942dba02519900b2ec7e45fe14cff6f3cb
25.57   Stored in directory: /tmp/pip-ephem-wheel-cache-4ye37vwy/wheels/f3/13/8b/8e296e76cc8a27872b097aa86507d0bd24560f67ece91669bd
25.65   DEPRECATION: Building 'pycdio' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'pycdio'. Discussion can be found at https://github.com/pypa/pip/issues/6334
25.65   Building wheel for pycdio (setup.py): started
54.06   Building wheel for pycdio (setup.py): finished with status 'done'
54.07   Created wheel for pycdio: filename=pycdio-2.1.1-cp313-cp313-linux_x86_64.whl size=372348 sha256=14c274b6a41ad235f59ed178750fa52c37c438611f6bb82d2b17427fce67169a
54.08   Stored in directory: /root/.cache/pip/wheels/59/35/68/24ccda01a699382675ad66c28dd601cd1571ceee412a5a819d
54.09 Successfully built whipper pycdio
54.39 Installing collected packages: pycdio, packaging, vcs-versioning, setuptools_scm, whipper
54.65   Attempting uninstall: packaging
54.70     Found existing installation: packaging 25.0
54.73 error: uninstall-no-record-file
54.73 
54.73 × Cannot uninstall packaging 25.0
54.73 ╰─> The package's contents are unknown: no RECORD file was found for packaging.
54.73 
54.73 hint: The package was installed by debian. You should check if it can uninstall the package.
54.73 
------
Dockerfile:53
--------------------
  52 |     COPY . /whipper/
  53 | >>> RUN cd /whipper && pip install . --break-system-packages \
  54 | >>>     && rm -rf /whipper \
  55 | >>>     && whipper -v
  56 |     
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c cd /whipper && pip install . --break-system-packages     && rm -rf /whipper     && whipper -v" did not complete successfully: exit code: 1

@sjrct
sjrct force-pushed the dockerfile-trixie-fix branch from 981f454 to d54e1ac Compare August 4, 2026 21:23
@sjrct

sjrct commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the heads up, this should be fixed now... setuptools_scm required vcs-versioning which updated its required version of packaging to 26.2. Debian provides version 25.0, and pip doesn't want to move along without uninstalling that one. Pinning setuptools_scm<10 fixes this.

@jmechnich

jmechnich commented Aug 23, 2026 •

Copy link
Copy Markdown

I can confirm this to be working perfectly (Docker container inside a arm64 Debian VM on a M1 MacBook 🤪 ).

Edit: @sjrct there seems to be a formal issue with your last commit that causes an automatic check to fail.

setuptools_scm depends on vcs-versioning which updated its requirement
for the packaging package to 26.2>=, but debian ships 25.0 and pip
refuses to proceed without uninstalling v25.0 and installing 26.2>=

Signed-off-by: Chris Harding <sjrct@users.noreply.github.com>
@sjrct
sjrct force-pushed the dockerfile-trixie-fix branch from d54e1ac to 6de07d6 Compare August 23, 2026 16:25
@sjrct

sjrct commented Aug 23, 2026

Copy link
Copy Markdown
Contributor Author

Thanks again for the heads up, forgot to add the signature

@mtdcr

mtdcr commented Sep 29, 2026

Copy link
Copy Markdown
Contributor
  • Remove unused PyGObject that was causing that to fail

Indeed unused since 1b13013.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants