Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package php-apache8-image for openSUSE:Factory checked in at 2026-09-19 22:22:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/php-apache8-image (Old) and /work/SRC/openSUSE:Factory/.php-apache8-image.new.383539 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "php-apache8-image" Sat Sep 19 22:22:53 2026 rev:51 rq:1379016 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/php-apache8-image/php-apache8-image.changes 2026-09-01 15:49:30.120153947 +0200 +++ /work/SRC/openSUSE:Factory/.php-apache8-image.new.383539/php-apache8-image.changes 2026-09-19 22:24:21.845666228 +0200 @@ -1,0 +2,5 @@ +Sat Sep 19 12:29:04 UTC 2026 - SUSE Update Bot <[email protected]> + +- introduce base and micro flavors for php + +------------------------------------------------------------------- Old: ---- README.md New: ---- Dockerfile.base Dockerfile.micro README.base.md README.micro.md _multibuild ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ Dockerfile ++++++ --- /var/tmp/diff_new_pack.6kCpbQ/_old 2026-09-19 22:24:22.370688125 +0200 +++ /var/tmp/diff_new_pack.6kCpbQ/_new 2026-09-19 22:24:22.373688250 +0200 @@ -1,88 +1,5 @@ -# SPDX-License-Identifier: MIT +#!ExclusiveArch: do-not-build +#!ForceMultiVersion -# Copyright (c) 2026 SUSE LLC - -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. - -# The content of THIS FILE IS AUTOGENERATED and should not be manually modified. -# It is maintained by the BCI team and generated by -# https://github.com/SUSE/BCI-dockerfile-generator - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# You can contact the BCI team via https://github.com/SUSE/bci/discussions - -#!UseOBSRepositories - -#!BuildTag: opensuse/bci/php-apache:%%php_version%%-%RELEASE% -#!BuildTag: opensuse/bci/php-apache:%%php_version%% -#!BuildTag: opensuse/bci/php-apache:8 -#!BuildTag: opensuse/bci/php-apache:latest - -#!FilterBaseContainerPkgs -FROM opensuse/tumbleweed:latest AS target -FROM opensuse/tumbleweed:latest AS builder -COPY --from=target / /target - -RUN set -euo pipefail; \ - export PERMCTL_ALLOW_INSECURE_MODE_IF_NO_PROC=1 SOURCE_DATE_EPOCH=0; \ - zypper -n --installroot /target --gpg-auto-import-keys install php8 php8-cli php-composer2 php8-curl php8-zip php8-zlib php8-phar php8-mbstring apache2-mod_php8 - -COPY docker-php-source docker-php-entrypoint docker-php-ext-configure docker-php-ext-enable docker-php-ext-install /target/usr/local/bin/ -RUN chmod +x /target/usr/local/bin/docker-php-* - -RUN set -euo pipefail; zypper -n install --no-recommends systemd && \ - systemd-tmpfiles --create --root /target apache2.conf - -# create our own apache2-foreground from the systemd startup script -RUN sed 's|^exec $apache_bin|exec $apache_bin -DFOREGROUND|' /target/usr/sbin/start_apache2 > /target/usr/local/bin/apache2-foreground -RUN chmod +x /target/usr/local/bin/apache2-foreground - -# apache fails to start without its log folder -RUN mkdir -p /target/var/log/apache2 - -# cleanup logs and temporary files -RUN set -euo pipefail; zypper -n --installroot /target clean -a; \ - t=$(mktemp -d); mv /target/usr/lib/sysimage/rpm/Packages.db $t; rpmdb --rebuilddb --dbpath=$t; \ - rm /target/usr/lib/sysimage/rpm/*.db && install -m 0644 $t/Packages.db /target/usr/lib/sysimage/rpm/; \ - rm -rf {/target,}/var/log/{alternatives.log,lastlog,suseconnect.log,tallylog,zypper.log,zypp/history,YaST2}; \ - rm -rf {/target,}/run/{zypp.pid,regenerate-initrd,systemd}; \ - rm -f {/target,}/etc/{shadow-,group-,passwd-,.pwd.lock}; \ - rm -f {/target,}/usr/lib/sysimage/rpm/.rpm.lock; \ - rm -f {/target,}/var/lib/zypp/AnonymousUniqueId; \ - rm -f {/target,}/var/lib/zypp/AutoInstalled; \ - rm -f {/target,}/var/cache/ldconfig/aux-cache - -# set the day of last password change to empty -RUN set -euo pipefail; sed -i 's/^\([^:]*:[^:]*:\)[^:]*\(:.*\)$/\1\2/' /target/etc/shadow -FROM opensuse/tumbleweed:latest -COPY --from=builder /target / -# Define labels according to https://en.opensuse.org/Building_derived_containers -# labelprefix=org.opensuse.bci.php-apache -LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI PHP-Apache 8" -LABEL org.opencontainers.image.description="PHP-Apache 8 container based on the openSUSE Tumbleweed Base Container Image." -LABEL org.opencontainers.image.version="%%php_version%%" -LABEL org.opencontainers.image.url="https://www.opensuse.org" -LABEL org.opencontainers.image.created="%BUILDTIME%" -LABEL org.opencontainers.image.vendor="openSUSE Project" -LABEL org.opencontainers.image.source="%SOURCEURL%" -LABEL org.opencontainers.image.ref.name="%%php_version%%-%RELEASE%" -LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/php-apache:%%php_version%%-%RELEASE%" -LABEL org.openbuildservice.disturl="%DISTURL%" -LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI" -LABEL org.opensuse.release-stage="released" -# endlabelprefix -LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.md)%" -ENV APACHE_CONFDIR="/etc/apache2" -ENV COMPOSER_VERSION="%%composer_version%%" -ENV PHPIZE_DEPS="php8-devel awk make findutils" -ENV PHP_INI_DIR="/etc/php8/" -ENV PHP_VERSION="%%php_version%%" -ENTRYPOINT ["docker-php-entrypoint"] -CMD ["apache2-foreground"] - -STOPSIGNAL SIGWINCH -WORKDIR /srv/www/htdocs -EXPOSE 80 +# For this container we only build the Dockerfile.$flavor builds. ++++++ Dockerfile.base ++++++ # SPDX-License-Identifier: MIT # Copyright (c) 2026 SUSE LLC # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. # The content of THIS FILE IS AUTOGENERATED and should not be manually modified. # It is maintained by the BCI team and generated by # https://github.com/SUSE/BCI-dockerfile-generator # Please submit bugfixes or comments via https://bugs.opensuse.org/ # You can contact the BCI team via https://github.com/SUSE/bci/discussions #!UseOBSRepositories #!BuildTag: opensuse/bci/php-apache:%%php_version%%-base-%RELEASE% #!BuildTag: opensuse/bci/php-apache:%%php_version%%-base #!BuildTag: opensuse/bci/php-apache:8-base #!BuildTag: opensuse/bci/php-apache:8 #!BuildTag: opensuse/bci/php-apache:latest #!BcntSyncTag: php-apache8-image #!FilterBaseContainerPkgs FROM opensuse/tumbleweed:latest AS target FROM opensuse/tumbleweed:latest AS builder COPY --from=target / /target RUN set -euo pipefail; \ export PERMCTL_ALLOW_INSECURE_MODE_IF_NO_PROC=1 SOURCE_DATE_EPOCH=0; \ zypper -n --installroot /target --gpg-auto-import-keys install php8 php8-cli php-composer2 php8-curl php8-zip php8-zlib php8-phar php8-mbstring apache2-mod_php8 COPY docker-php-source docker-php-entrypoint docker-php-ext-configure docker-php-ext-enable docker-php-ext-install /target/usr/local/bin/ RUN chmod +x /target/usr/local/bin/docker-php-* RUN set -euo pipefail; zypper -n install --no-recommends systemd && \ systemd-tmpfiles --create --root /target apache2.conf # create our own apache2-foreground from the systemd startup script RUN sed 's|^exec $apache_bin|exec $apache_bin -DFOREGROUND|' /target/usr/sbin/start_apache2 > /target/usr/local/bin/apache2-foreground RUN chmod +x /target/usr/local/bin/apache2-foreground # apache fails to start without its log folder RUN mkdir -p /target/var/log/apache2 # cleanup logs and temporary files RUN set -euo pipefail; zypper -n --installroot /target clean -a; \ t=$(mktemp -d); mv /target/usr/lib/sysimage/rpm/Packages.db $t; rpmdb --rebuilddb --dbpath=$t; \ rm /target/usr/lib/sysimage/rpm/*.db && install -m 0644 $t/Packages.db /target/usr/lib/sysimage/rpm/; \ rm -rf {/target,}/var/log/{alternatives.log,lastlog,suseconnect.log,tallylog,zypper.log,zypp/history,YaST2}; \ rm -rf {/target,}/run/{zypp.pid,regenerate-initrd,systemd}; \ rm -f {/target,}/etc/{shadow-,group-,passwd-,.pwd.lock}; \ rm -f {/target,}/usr/lib/sysimage/rpm/.rpm.lock; \ rm -f {/target,}/var/lib/zypp/AnonymousUniqueId; \ rm -f {/target,}/var/lib/zypp/AutoInstalled; \ rm -f {/target,}/var/cache/ldconfig/aux-cache # set the day of last password change to empty RUN set -euo pipefail; sed -i 's/^\([^:]*:[^:]*:\)[^:]*\(:.*\)$/\1\2/' /target/etc/shadow FROM opensuse/tumbleweed:latest COPY --from=builder /target / # Define labels according to https://en.opensuse.org/Building_derived_containers # labelprefix=org.opensuse.bci.php-apache LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI PHP-Apache 8 development" LABEL org.opencontainers.image.description="PHP-Apache 8 development container based on the openSUSE Tumbleweed Base Container Image." LABEL org.opencontainers.image.version="%%php_version%%" LABEL org.opencontainers.image.url="https://www.opensuse.org" LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.vendor="openSUSE Project" LABEL org.opencontainers.image.source="%SOURCEURL%" LABEL org.opencontainers.image.ref.name="%%php_version%%-base-%RELEASE%" LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/php-apache:%%php_version%%-base-%RELEASE%" LABEL org.openbuildservice.disturl="%DISTURL%" LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI" LABEL org.opensuse.release-stage="released" # endlabelprefix LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.base.md)%" ENV APACHE_CONFDIR="/etc/apache2" ENV COMPOSER_VERSION="%%composer_version%%" ENV PHPIZE_DEPS="php8-devel awk make findutils" ENV PHP_INI_DIR="/etc/php8/" ENV PHP_VERSION="%%php_version%%" ENTRYPOINT ["docker-php-entrypoint"] CMD ["apache2-foreground"] STOPSIGNAL SIGWINCH WORKDIR /srv/www/htdocs EXPOSE 80 ++++++ Dockerfile.micro ++++++ # SPDX-License-Identifier: MIT # Copyright (c) 2026 SUSE LLC # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. # The content of THIS FILE IS AUTOGENERATED and should not be manually modified. # It is maintained by the BCI team and generated by # https://github.com/SUSE/BCI-dockerfile-generator # Please submit bugfixes or comments via https://bugs.opensuse.org/ # You can contact the BCI team via https://github.com/SUSE/bci/discussions #!UseOBSRepositories #!BuildTag: opensuse/bci/php-apache:%%php_version%%-micro-%RELEASE% #!BuildTag: opensuse/bci/php-apache:%%php_version%%-micro #!BuildTag: opensuse/bci/php-apache:8-micro #!BcntSyncTag: php-apache8-image #!FilterBaseContainerPkgs FROM opensuse/bci/bci-micro:latest AS target FROM opensuse/tumbleweed:latest AS builder COPY --from=target / /target RUN set -euo pipefail; \ export PERMCTL_ALLOW_INSECURE_MODE_IF_NO_PROC=1 SOURCE_DATE_EPOCH=0; \ zypper -n --installroot /target --gpg-auto-import-keys install php8 php8-cli php-composer2 php8-curl php8-zip php8-zlib php8-phar php8-mbstring apache2-mod_php8 COPY docker-php-source docker-php-entrypoint docker-php-ext-configure docker-php-ext-enable docker-php-ext-install /target/usr/local/bin/ RUN chmod +x /target/usr/local/bin/docker-php-* RUN set -euo pipefail; zypper -n install --no-recommends systemd && \ systemd-tmpfiles --create --root /target apache2.conf # create our own apache2-foreground from the systemd startup script RUN sed 's|^exec $apache_bin|exec $apache_bin -DFOREGROUND|' /target/usr/sbin/start_apache2 > /target/usr/local/bin/apache2-foreground RUN chmod +x /target/usr/local/bin/apache2-foreground # apache fails to start without its log folder RUN mkdir -p /target/var/log/apache2 # cleanup logs and temporary files RUN set -euo pipefail; zypper -n --installroot /target clean -a; \ t=$(mktemp -d); mv /target/usr/lib/sysimage/rpm/Packages.db $t; rpmdb --rebuilddb --dbpath=$t; \ rm /target/usr/lib/sysimage/rpm/*.db && install -m 0644 $t/Packages.db /target/usr/lib/sysimage/rpm/; \ rm -rf {/target,}/var/log/{alternatives.log,lastlog,suseconnect.log,tallylog,zypper.log,zypp/history,YaST2}; \ rm -rf {/target,}/run/{zypp.pid,regenerate-initrd,systemd}; \ rm -f {/target,}/etc/{shadow-,group-,passwd-,.pwd.lock}; \ rm -f {/target,}/usr/lib/sysimage/rpm/.rpm.lock; \ rm -f {/target,}/var/lib/zypp/AnonymousUniqueId; \ rm -f {/target,}/var/lib/zypp/AutoInstalled; \ rm -f {/target,}/var/cache/ldconfig/aux-cache # set the day of last password change to empty RUN set -euo pipefail; sed -i 's/^\([^:]*:[^:]*:\)[^:]*\(:.*\)$/\1\2/' /target/etc/shadow FROM opensuse/bci/bci-micro:latest COPY --from=builder /target / # Define labels according to https://en.opensuse.org/Building_derived_containers # labelprefix=org.opensuse.bci.php-apache LABEL org.opencontainers.image.title="openSUSE Tumbleweed BCI PHP-Apache 8 runtime" LABEL org.opencontainers.image.description="PHP-Apache 8 runtime container based on the openSUSE Tumbleweed Base Container Image." LABEL org.opencontainers.image.version="%%php_version%%" LABEL org.opencontainers.image.url="https://www.opensuse.org" LABEL org.opencontainers.image.created="%BUILDTIME%" LABEL org.opencontainers.image.vendor="openSUSE Project" LABEL org.opencontainers.image.source="%SOURCEURL%" LABEL org.opencontainers.image.ref.name="%%php_version%%-micro-%RELEASE%" LABEL org.opensuse.reference="registry.opensuse.org/opensuse/bci/php-apache:%%php_version%%-micro-%RELEASE%" LABEL org.openbuildservice.disturl="%DISTURL%" LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI" LABEL org.opensuse.release-stage="released" # endlabelprefix LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.micro.md)%" ENV APACHE_CONFDIR="/etc/apache2" ENV COMPOSER_VERSION="%%composer_version%%" ENV PHPIZE_DEPS="php8-devel awk make findutils" ENV PHP_INI_DIR="/etc/php8/" ENV PHP_VERSION="%%php_version%%" ENTRYPOINT ["docker-php-entrypoint"] CMD ["apache2-foreground"] STOPSIGNAL SIGWINCH WORKDIR /srv/www/htdocs EXPOSE 80 ++++++ README.base.md ++++++ # The PHP Apache 8 container image  PHP is a general-purpose scripting language used primarily for server-side web development. It can be used directly, embedded in HTML files, or executed via a server-side Apache2 module or CGI scripts. ## How to use the image The image ships with the Apache web server and the `mod_php` module. To deploy an application, copy its sources into the htdocs folder `/srv/www/htdocs` (this directory is the `WORKDIR` of the container image): ```Dockerfile FROM registry.opensuse.org/opensuse/bci/php-apache:8-base RUN set -eux; \ zypper -n install $my_dependencies; \ # additional setup steps # Copy the app into the Apache2 document root COPY app/ . ``` Build the image and run the resulting container: ```ShellSession $ buildah bud -t my-app . $ podman run -d -p 8080:80 my-app ``` Alternatively, you can mount the application's source code directly into the container: ```ShellSession $ podman run -d -p 8080:80 -v ./app/:/srv/www/htdocs:Z registry.opensuse.org/opensuse/bci/php-apache:8-base ``` ## How to install PHP extensions PHP extensions must be installed using the `zypper` package manager. PHP extensions are named using the `php8-$extension_name` scheme, and they can be installed as follows: ```Dockerfile FROM registry.opensuse.org/opensuse/bci/php-apache:8-base RUN zypper -n install php8-gd php8-intl ``` Alternatively, you can use the `docker-php-ext-install` script. It is provided for compatibility with the [PHP DockerHub Image](https://hub.docker.com/_/php) but it uses zypper to install the extensions from RPMs. It is provided for compatibility reasons and can be used similar to the script from PHP DockerHub image: ```Dockerfile FROM registry.opensuse.org/opensuse/bci/php-apache:8-base RUN docker-php-ext-install gd intl ``` ## How to install PECL extensions [PECL](https://pecl.php.net/) is a package repository hosting PHP extensions. It can be used as an alternative source to obtain PHP extensions, but without any guarantee of interoperability with this image and without any official support. Install PECL extensions as follows: ```Dockerfile FROM registry.opensuse.org/opensuse/bci/php-apache:8-base RUN set -euo pipefail; \ zypper -n install $PHPIZE_DEPS php8-pecl; \ pecl install APCu-5.1.21; ``` **Note:** Building an extension may require installing its dependencies first. ## Compatibility with the DockerHub Image The following scripts ship with the image to keep it compatible with the DockerHub image: `docker-php-source`, `docker-php-ext-configure`, `docker-php-ext-enable`, and `docker-php-ext-install`. The script `docker-php-ext-install` performs an actual job, all others are just no-operation scripts for interoperability. ## Licensing `SPDX-License-Identifier: MIT` This documentation and the build recipe are licensed as MIT. The container itself contains various software components under various open source licenses listed in the associated Software Bill of Materials (SBOM). This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/). ++++++ README.micro.md ++++++ # The PHP Apache 8 container image  PHP is a general-purpose scripting language used primarily for server-side web development. It can be used directly, embedded in HTML files, or executed via a server-side Apache2 module or CGI scripts. ## How to use the image The image ships with the Apache web server and the `mod_php` module. To deploy an application, copy its sources into the htdocs folder `/srv/www/htdocs` (this directory is the `WORKDIR` of the container image): ```Dockerfile FROM registry.opensuse.org/opensuse/bci/php-apache:8-micro RUN set -eux; \ zypper -n install $my_dependencies; \ # additional setup steps # Copy the app into the Apache2 document root COPY app/ . ``` Build the image and run the resulting container: ```ShellSession $ buildah bud -t my-app . $ podman run -d -p 8080:80 my-app ``` Alternatively, you can mount the application's source code directly into the container: ```ShellSession $ podman run -d -p 8080:80 -v ./app/:/srv/www/htdocs:Z registry.opensuse.org/opensuse/bci/php-apache:8-micro ``` ## How to install PHP extensions PHP extensions must be installed using the `zypper` package manager. PHP extensions are named using the `php8-$extension_name` scheme, and they can be installed as follows: ```Dockerfile FROM registry.opensuse.org/opensuse/bci/php-apache:8-micro RUN zypper -n install php8-gd php8-intl ``` Alternatively, you can use the `docker-php-ext-install` script. It is provided for compatibility with the [PHP DockerHub Image](https://hub.docker.com/_/php) but it uses zypper to install the extensions from RPMs. It is provided for compatibility reasons and can be used similar to the script from PHP DockerHub image: ```Dockerfile FROM registry.opensuse.org/opensuse/bci/php-apache:8-micro RUN docker-php-ext-install gd intl ``` ## How to install PECL extensions [PECL](https://pecl.php.net/) is a package repository hosting PHP extensions. It can be used as an alternative source to obtain PHP extensions, but without any guarantee of interoperability with this image and without any official support. Install PECL extensions as follows: ```Dockerfile FROM registry.opensuse.org/opensuse/bci/php-apache:8-micro RUN set -euo pipefail; \ zypper -n install $PHPIZE_DEPS php8-pecl; \ pecl install APCu-5.1.21; ``` **Note:** Building an extension may require installing its dependencies first. ## Compatibility with the DockerHub Image The following scripts ship with the image to keep it compatible with the DockerHub image: `docker-php-source`, `docker-php-ext-configure`, `docker-php-ext-enable`, and `docker-php-ext-install`. The script `docker-php-ext-install` performs an actual job, all others are just no-operation scripts for interoperability. ## Licensing `SPDX-License-Identifier: MIT` This documentation and the build recipe are licensed as MIT. The container itself contains various software components under various open source licenses listed in the associated Software Bill of Materials (SBOM). This image is based on [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed/). ++++++ _multibuild ++++++ <multibuild> <package>base</package> <package>micro</package> </multibuild> (No newline at EOF) ++++++ _service ++++++ --- /var/tmp/diff_new_pack.6kCpbQ/_old 2026-09-19 22:24:22.484692880 +0200 +++ /var/tmp/diff_new_pack.6kCpbQ/_new 2026-09-19 22:24:22.488693046 +0200 @@ -2,12 +2,22 @@ <service mode="buildtime" name="docker_label_helper"/> <service mode="buildtime" name="kiwi_metainfo_helper"/> <service mode="buildtime" name="replace_using_package_version"> - <param name="file">Dockerfile</param> + <param name="file">Dockerfile.base</param> <param name="regex">%%composer_version%%</param> <param name="package">php-composer2</param> </service> <service mode="buildtime" name="replace_using_package_version"> - <param name="file">Dockerfile</param> + <param name="file">Dockerfile.base</param> + <param name="regex">%%php_version%%</param> + <param name="package">php8</param> + </service> + <service mode="buildtime" name="replace_using_package_version"> + <param name="file">Dockerfile.micro</param> + <param name="regex">%%composer_version%%</param> + <param name="package">php-composer2</param> + </service> + <service mode="buildtime" name="replace_using_package_version"> + <param name="file">Dockerfile.micro</param> <param name="regex">%%php_version%%</param> <param name="package">php8</param> </service>
