Skip to content

fix: support s6-overlay 3.2.3.1 user bundle layout#425

Merged
shinsenter merged 1 commit into
shinsenter:mainfrom
nerdv2:fix/s6-overlay-user-bundles
Jul 15, 2026
Merged

fix: support s6-overlay 3.2.3.1 user bundle layout#425
shinsenter merged 1 commit into
shinsenter:mainfrom
nerdv2:fix/s6-overlay-user-bundles

Conversation

@nerdv2

@nerdv2 nerdv2 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Use /etc/s6-overlay/user-bundles.d/user for user bundle membership flags when the directory is available.
  • Keep /etc/s6-overlay/s6-rc.d/user as a fallback for s6-overlay 3.2.3.0 and older layouts.
  • Prevent s6-service from recreating the deprecated s6-rc.d/user directory on current images.

Root cause

s6-overlay 3.2.3.1 moved the user and user2 bundle definitions from s6-rc.d to user-bundles.d. Individual service definitions still belong in s6-rc.d.

The s6-service helper continued writing service membership flags to s6-rc.d/user/contents.d. Creating that legacy user directory makes s6-overlay disable scanning of user-bundles.d, then compilation fails because the recreated directory is not a complete bundle definition:

s6-rc-compile: fatal: unable to read /etc/s6-overlay/s6-rc.d/user/type: No such file or directory

The directory-based selection in this patch supports both layouts without version parsing.

Verification

  • Reproduced the startup failure with shinsenter/php:8.3-fpm-nginx@sha256:ee34b4045dea30558c5bf4e53067de1d3c55e7f6b771236b1119124e4aaf01ec.
  • Verified POSIX shell and Bash syntax.
  • Verified service creation still writes to the legacy bundle with the previous 3.2.3.0 image digest.
  • Verified create, disable, and enable operations use user-bundles.d with 3.2.3.1 and do not recreate s6-rc.d/user.
  • Successfully compiled the resulting 3.2.3.1 s6-rc database.
  • Successfully booted the affected PHP image with the corrected filesystem for both ENABLE_CRONTAB=0 and ENABLE_CRONTAB=1.

Closes #423.
Closes #424.

@shinsenter

Copy link
Copy Markdown
Owner

@nerdv2
Thanks for your great contribution. LGTM!
I've approved test builds, and I'll merge this PR once we confirm the -dev images fix the s6-overlay issues.

https://github.com/shinsenter/php/actions/runs/29418305301

@shinsenter shinsenter merged commit 7d2fc6a into shinsenter:main Jul 15, 2026
8 of 78 checks passed
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.

[8.3-fpm-nginx] s6-rc-compile fatal: missing /etc/s6-overlay/s6-rc.d/user/type after 2026-07-15 rebuild Alpine 8.4 PHP-FPM Apache Crashes

2 participants