From c1060efd4dc6b98c07952c7195277f8b874311e2 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 24 Feb 2026 10:55:33 +0900 Subject: [PATCH] fix: Auto-install GD extension dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GD拡張が指定された場合、必要な依存パッケージを自動的にインストール。 Changes: - deployment.yaml: GD拡張検出時に以下を自動追加 - libpng-dev (PNG処理) - libjpeg-turbo-dev (JPEG処理) - freetype-dev (フォント処理) - README.md: GD自動化説明を追加 Usage: composer: additionalPhpExtensions: - "gd" # 依存パッケージは自動的にインストール Benefits: - ユーザーが手動でadditionalApkPackagesを指定する必要がなし - インストール失敗の原因を削減 - より簡潔な設定 Co-Authored-By: Claude Sonnet 4.5 --- README.md | 13 +++++++++---- templates/deployment.yaml | 13 ++++++++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4b692e2..311c6a1 100644 --- a/README.md +++ b/README.md @@ -433,10 +433,8 @@ composer: additionalPhpExtensions: - "gd" - "exif" - additionalApkPackages: - - "libpng-dev" - - "libjpeg-turbo-dev" - - "freetype-dev" + # 注:GDが指定されている場合、依存パッケージ (libpng-dev, libjpeg-turbo-dev, freetype-dev) + # は自動的にインストールされます。手動指定は不要です。 persistence: enabled: true @@ -453,6 +451,13 @@ ingress: - host: images.example.com ``` +**特記事項**: GD拡張を `additionalPhpExtensions` に指定した場合、以下の依存パッケージが自動的にインストールされます: +- `libpng-dev` - PNG画像処理 +- `libjpeg-turbo-dev` - JPEG画像処理 +- `freetype-dev` - フォント処理 + +`additionalApkPackages` で明示的に指定する必要はありません。 + ### 例9: 本番環境構成(フル機能) ```yaml diff --git a/templates/deployment.yaml b/templates/deployment.yaml index 23f6c25..a0cf210 100644 --- a/templates/deployment.yaml +++ b/templates/deployment.yaml @@ -63,7 +63,18 @@ spec: APK_PACKAGES="$APK_PACKAGES {{ . }}" {{- end }} {{- end }} - + + # GD拡張の依存パッケージを自動的に追加 + {{- if .Values.composer.additionalPhpExtensions }} + for ext in {{ join " " .Values.composer.additionalPhpExtensions }}; do + if [ "$ext" = "gd" ]; then + echo "GD extension detected, adding required dependencies..." + APK_PACKAGES="$APK_PACKAGES libpng-dev libjpeg-turbo-dev freetype-dev" + break + fi + done + {{- end }} + if [ -n "$APK_PACKAGES" ]; then echo "Installing APK packages: $APK_PACKAGES" apk add --no-cache $APK_PACKAGES