Skip to content

glibc backcompatiblity#8

Merged
kerry-hiverge merged 2 commits into
mainfrom
enhancement/glibc-backcompatibility
Jul 12, 2026
Merged

glibc backcompatiblity#8
kerry-hiverge merged 2 commits into
mainfrom
enhancement/glibc-backcompatibility

Conversation

@kerry-hiverge

@kerry-hiverge kerry-hiverge commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

New binary built (allegedly) supports versions of glibc up to >=2.14. For reference, the previous binary only support >=2.38), and, e.g.,

  • ubuntu:22.04: needs glibc 2.35
  • ubuntu:20.04: needs glibc 2.31 (tested)
  • debian:12: needs glibc 2.36

@kerry-hiverge kerry-hiverge changed the title glibc backcompatiblity glibc backcompatiblity Jul 9, 2026
@hiverge-robot hiverge-robot added needs-triage Indicates an issue or PR lacks a label and requires one. needs-priority Indicates a PR lacks a label and requires one. do-not-merge/needs-kind Indicates a PR lacks a label and requires one. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jul 9, 2026
@kerry-hiverge kerry-hiverge requested a review from ky-hiverge July 9, 2026 19:19
@kerry-hiverge

Copy link
Copy Markdown
Contributor Author

/kind enhacnement

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the binary build process to improve Linux glibc compatibility by switching the build container/toolchain, and adjusts main.py typing behavior to remain importable under older Python versions used during bundling.

Changes:

  • Add from __future__ import annotations and remove unused sys import in main.py.
  • Switch the PyInstaller build container from python:3.11-slim to quay.io/pypa/manylinux2014_x86_64, and update dependency installation steps.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
main.py Enables postponed evaluation of annotations (helps if bundling under older Python), and removes an unused import.
build-binary.sh Moves the build into a manylinux2014 environment to target an older glibc baseline, and adjusts Python/dependency setup for the build.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread build-binary.sh
Comment on lines +31 to 39
echo 'Installing Python 3.8 (shared) and build deps...' && \
yum -y -q --disablerepo='epel*' install rh-python38-python-devel && \
source /opt/rh/rh-python38/enable && \
python3 -m ensurepip --upgrade && \
python3 -m pip install -q --upgrade pip && \
python3 -m pip install -q pyinstaller flask requests psutil waitress python-json-logger 'urllib3<2' && \
echo 'Running PyInstaller...' && \
pyinstaller daemon-server.spec && \
echo 'Build complete!'
Comment thread build-binary.sh
apt-get update -qq && \
apt-get install -y -qq binutils && \
pip install -q pyinstaller flask requests psutil waitress python-json-logger && \
quay.io/pypa/manylinux2014_x86_64 bash -c "
Comment thread main.py
@@ -1,10 +1,11 @@
"""A simple Python sandbox server that executes Python functions."""

from __future__ import annotations

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this important? If yes maybe comment.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added

@kerry-hiverge kerry-hiverge merged commit 401f1ce into main Jul 12, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/needs-kind Indicates a PR lacks a label and requires one. needs-priority Indicates a PR lacks a label and requires one. needs-triage Indicates an issue or PR lacks a label and requires one.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants