fix: bump alpine 3.24, dynamic python paths, tini via apk #21

Merged
jcabillot merged 1 commits from fix/alpine-3.24-and-patch-cleanup into master 2026-07-16 12:58:57 -04:00
Owner

Contexte

Renovate a ouvert la PR #6 pour bump Alpine 3.23 → 3.24. Alpine 3.24 shippe Python 3.14 (et non 3.12), ce qui casse les paths hardcodés dans patch.py.

Changes

patch.py — paths dynamiques

  • Remplacement des paths hardcodés /usr/lib/python3.12/... par glob.glob() + sys.version_info → survit aux bumps de version Python
  • Déplacement du sed SECLEVEL=1 (imaplib2) depuis le Dockerfile vers patch.py — tout le patching en un seul endroit

Dockerfile

  • alpine:3.23alpine:3.24
  • Suppression du sed inline (déplacé dans patch.py)
  • apk add tini à la place du téléchargement manuel d'un binaire statique (qui était commenté depuis longtemps)
  • ENTRYPOINT ["/sbin/tini", "--"] pour un proper PID 1 (signal reaping)

Tini

Le block Tini était déjà commenté dans le Dockerfile (téléchargement manuel d'un binaire v0.16.1). En 2026, tini est dispo comme package Alpine — c'est la méthode propre et maintenable. Tini reste pertinent pour ce container qui lance offlineimap (Python) en PID 1 : sans init, les zombies ne sont pas reaped et les signaux ne sont pas propagés correctement.

Vérifications

  • Les patches UnicodeEncodeError (Maildir + IMAP) sont toujours nécessaires sur offlineimap 8.0.0 (confirmé sur source upstream v8.0.0)
  • Les patches de compat Alpine (py311, py312) ne couvrent pas ce bug
  • offlineimap 8.0.0-r4 et py3-imaplib2 3.6-r3 dispo sur Alpine 3.24 community
  • Python 3.14.5-r0 sur Alpine 3.24 main

Supersedes PR #6 (Renovate alpine bump).

## Contexte Renovate a ouvert la PR #6 pour bump Alpine 3.23 → 3.24. Alpine 3.24 shippe **Python 3.14** (et non 3.12), ce qui casse les paths hardcodés dans `patch.py`. ## Changes ### patch.py — paths dynamiques - Remplacement des paths hardcodés `/usr/lib/python3.12/...` par `glob.glob()` + `sys.version_info` → survit aux bumps de version Python - Déplacement du `sed` SECLEVEL=1 (imaplib2) depuis le Dockerfile vers `patch.py` — tout le patching en un seul endroit ### Dockerfile - `alpine:3.23` → `alpine:3.24` - Suppression du `sed` inline (déplacé dans `patch.py`) - `apk add tini` à la place du téléchargement manuel d'un binaire statique (qui était commenté depuis longtemps) - `ENTRYPOINT ["/sbin/tini", "--"]` pour un proper PID 1 (signal reaping) ### Tini Le block Tini était déjà commenté dans le Dockerfile (téléchargement manuel d'un binaire v0.16.1). En 2026, `tini` est dispo comme package Alpine — c'est la méthode propre et maintenable. Tini reste pertinent pour ce container qui lance offlineimap (Python) en PID 1 : sans init, les zombies ne sont pas reaped et les signaux ne sont pas propagés correctement. ## Vérifications - Les patches `UnicodeEncodeError` (Maildir + IMAP) sont toujours nécessaires sur offlineimap 8.0.0 (confirmé sur source upstream v8.0.0) - Les patches de compat Alpine (py311, py312) ne couvrent pas ce bug - offlineimap 8.0.0-r4 et py3-imaplib2 3.6-r3 dispo sur Alpine 3.24 community - Python 3.14.5-r0 sur Alpine 3.24 main Supersedes PR #6 (Renovate alpine bump).
opencodecabilloteu added 1 commit 2026-07-16 12:28:17 -04:00
fix: bump alpine 3.24, dynamic python paths in patch.py, tini via apk
PR Checks / hadolint (pull_request) Successful in 19s
PR Checks / build-test (pull_request) Successful in 28s
cd51949b47
- Alpine 3.23 → 3.24 (ships Python 3.14, not 3.12)
- patch.py: use glob + sys.version_info instead of hardcoded python3.12 paths
- Move SSL SECLEVEL=1 sed from Dockerfile into patch.py
- Tini: replace commented-out manual binary download with apk add tini
  (ENTRYPOINT ["/sbin/tini", "--"] as PID 1 for proper signal handling)
- Remove dead TINI_VERSION env and commented-out lines
jcabillot merged commit d860bbcc0c into master 2026-07-16 12:58:57 -04:00
jcabillot deleted branch fix/alpine-3.24-and-patch-cleanup 2026-07-16 12:58:58 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: perso/offlineimap#21