Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update container image to Bookworm #393

Merged
merged 6 commits into from
Nov 8, 2023
Merged

Update container image to Bookworm #393

merged 6 commits into from
Nov 8, 2023

Conversation

wjt
Copy link
Contributor

@wjt wjt commented Nov 8, 2023

No description provided.

Dockerfile Show resolved Hide resolved
@wjt
Copy link
Contributor Author

wjt commented Nov 8, 2023

No wonder the tests are slow – testing the Chromium checker downloads a 3 GiB Chromium source tarball!

#394

@wjt wjt marked this pull request as ready for review November 8, 2023 13:55
This is the current stable release.

Rather than updating the hardcoded sources.list string, I chose to
edit the file in-place. The format has changed to the new .sources
format, which has one paragraph per source. Happily this makes adding
deb-src much easier.

I noticed that requirements.txt is fully satisfied by
dependencies.apt.txt; but because since
eb5f61c python-apt must be installed
from a tarball, not PyPI, we need to mangle that entry to avoid pip
reinstalling it.
…uid:gid"

This reverts the remaining hunk of commit dc86e18.

375c2c4 "Remove Endless-specific CI
scripts" removed the Jenkinsfile that Endless previously used to drive
this checker, but I forgot to remove this vestigial chunk of the
Dockerfile.
We want all dependencies to have been handled by the packages in
dependencies.apt.txt.

pip doesn't have a built-in way to say "check this is a no-op" but we
can do it by asking it to report on a dry-run and checking that the
installation report has an empty list of packages to be installed.

https://pip.pypa.io/en/stable/reference/installation-report/
Modern Python versions complain bitterly if you try to use pip from the
system installation to install additional libraries:

    error: externally-managed-environment

    × This environment is externally managed
    ╰─> To install Python packages system-wide, try apt install
        python3-xyz, where xyz is the package you are trying to
        install.

        If you wish to install a non-Debian-packaged Python package,
        create a virtual environment using python3 -m venv path/to/venv.
        Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
        sure you have python3-full installed.

        If you wish to install a non-Debian packaged Python application,
        it may be easiest to use pipx install xyz, which will manage a
        virtual environment for you. Make sure you have pipx installed.

        See /usr/share/doc/python3.11/README.venv for more information.

    note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
    hint: See PEP 668 for the detailed specification.
@coveralls
Copy link

Coverage Status

coverage: 91.919%. remained the same
when pulling 59eebc8 on bookworm
into f65ec1a on master.

@wjt wjt merged commit 3843512 into master Nov 8, 2023
4 checks passed
@wjt wjt deleted the bookworm branch November 8, 2023 21:23
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.

3 participants