Added php5.6 full package with almalinux8-micro

This commit is contained in:
Muhamad Aditya Prima 2024-12-17 02:50:23 +07:00
parent 485687363b
commit 356456cab4
5 changed files with 213 additions and 54 deletions

View File

@ -21,6 +21,13 @@ jobs:
mode: cli
with_server: "false"
with_database: "false"
- os: "almalinux"
os_version: "8.10"
php_version: "5.6"
php_ver_short: "56"
mode: full
with_server: "false"
with_database: "false"
steps:
- name: Check out repository code
uses: actions/checkout@v4

View File

@ -6,11 +6,13 @@ LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
ARG FLAVOR=cli
ARG WITH_APACHE=false
ARG WITH_DATABASE=false
ARG PHP_VERSION=5.6
ARG PHP_VER_SHORT=5
ENV FLAVOR=${FLAVOR}
ENV WITH_APACHE=${WITH_APACHE}
ENV WITH_DATABASE=${WITH_DATABASE}
ENV PHP_VERSION=${PHP_VERSION}
ENV PHP_VER_SHORT=${PHP_VER_SHORT}

View File

@ -12,20 +12,23 @@ ENV WITH_APACHE=${WITH_APACHE}
ENV PHP_VERSION=${PHP_VERSION}
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
ENV ROOTFS=/mnt/rootfs
WORKDIR /tmp
RUN mkdir -p /mnt/rootfs; \
RUN mkdir -p ${ROOTFS}; \
dnf -y update; \
dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm \
--releasever 8 --setopt install_weak_deps=false --nodocs -y; \
dnf install --installroot ${ROOTFS} \
http://rpms.remirepo.net/enterprise/remi-release-8.rpm \
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y; \
dnf module reset php; \
dnf install --installroot /mnt/rootfs \
dnf install --installroot ${ROOTFS} \
coreutils-single \
glibc-minimal-langpack \
php${PHP_VER_SHORT}-php-cli \
php${PHP_VER_SHORT}-php-common \
--releasever 8 --setopt install_weak_deps=false --nodocs -y; \
dnf --installroot /mnt/rootfs clean all;
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y; \
dnf --installroot ${ROOTFS} clean all;
FROM quay.io/sindigilive/almalinux:${OS_VERSION}-micro AS stage2
@ -33,65 +36,48 @@ ARG PHP_VER_SHORT=56
RUN mkdir -p /app;
ENV ROOTFS=/mnt/rootfs
ENV SRC=${ROOTFS}/usr/lib64
COPY --from=builder \
/mnt/rootfs/usr/lib64/libcrypt.so.1 \
/mnt/rootfs/usr/lib64/libedit.so.0 \
/mnt/rootfs/usr/lib64/libstdc++.so.6 \
/mnt/rootfs/usr/lib64/libz.so.1 \
/mnt/rootfs/usr/lib64/libpcre.so.1 \
/mnt/rootfs/usr/lib64/libxml2.so.2 \
/mnt/rootfs/usr/lib64/liblzma.so.5 \
/mnt/rootfs/usr/lib64/libgssapi_krb5.so.2 \
/mnt/rootfs/usr/lib64/libkrb5.so.3 \
/mnt/rootfs/usr/lib64/libk5crypto.so.3 \
/mnt/rootfs/usr/lib64/libcom_err.so.2 \
/mnt/rootfs/usr/lib64/libssl.so.1.1 \
/mnt/rootfs/usr/lib64/libcrypto.so.1.1 \
/mnt/rootfs/usr/lib64/libkrb5support.so.0 \
/mnt/rootfs/usr/lib64/libkeyutils.so.1 \
/mnt/rootfs/usr/lib64/libbz2.so.1 \
/mnt/rootfs/usr/lib64/libcurl.so.4 \
/mnt/rootfs/usr/lib64/libbz2.so.1 \
/mnt/rootfs/usr/lib64/libnghttp2.so.14 \
/mnt/rootfs/usr/lib64/libzstd.so.1 \
/mnt/rootfs/usr/lib64/libidn2.so.0 \
/mnt/rootfs/usr/lib64/libssh.so.4 \
/mnt/rootfs/usr/lib64/libpsl.so.5 \
/mnt/rootfs/usr/lib64/libldap-2.4.so.2 \
/mnt/rootfs/usr/lib64/liblber-2.4.so.2 \
/mnt/rootfs/usr/lib64/libbrotlidec.so.1 \
/mnt/rootfs/usr/lib64/libunistring.so.2 \
/mnt/rootfs/usr/lib64/libsasl2.so.3 \
/mnt/rootfs/usr/lib64/libbrotlicommon.so.1 \
${SRC}/libcrypt.so.1 ${SRC}/libedit.so.0 ${SRC}/libstdc++.so.6 \
${SRC}/libz.so.1 ${SRC}/libpcre.so.1 ${SRC}/libxml2.so.2 \
${SRC}/liblzma.so.5 ${SRC}/libgssapi_krb5.so.2 ${SRC}/libkrb5.so.3 \
${SRC}/libk5crypto.so.3 ${SRC}/libcom_err.so.2 ${SRC}/libssl.so.1.1 \
${SRC}/libcrypto.so.1.1 ${SRC}/libkrb5support.so.0 ${SRC}/libkeyutils.so.1 \
${SRC}/libbz2.so.1 ${SRC}/libcurl.so.4 ${SRC}/libbz2.so.1 \
${SRC}/libnghttp2.so.14 ${SRC}/libzstd.so.1 ${SRC}/libidn2.so.0 \
${SRC}/libssh.so.4 ${SRC}/libpsl.so.5 ${SRC}/libldap-2.4.so.2 \
${SRC}/liblber-2.4.so.2 ${SRC}/libbrotlidec.so.1 ${SRC}/libunistring.so.2 \
${SRC}/libsasl2.so.3 ${SRC}/libbrotlicommon.so.1 \
/usr/lib64
COPY --from=builder /mnt/rootfs/usr/share/Modules/modulefiles/php56 /usr/share/Modules/modulefiles/php56
COPY --from=builder /mnt/rootfs/opt/remi /opt/remi
COPY --from=builder /mnt/rootfs/var/opt/remi /var/opt/remi
COPY --from=builder /mnt/rootfs/etc/opt/remi /etc/opt/remi
COPY --from=builder /mnt/rootfs/etc/scl/prefixes/php56 /etc/scl/prefixes/php56
COPY --from=builder ${ROOTFS}/usr/share/Modules/modulefiles/php56 /usr/share/Modules/modulefiles/php56
COPY --from=builder ${ROOTFS}/opt/remi /opt/remi
COPY --from=builder ${ROOTFS}/var/opt/remi /var/opt/remi
COPY --from=builder ${ROOTFS}/etc/opt/remi /etc/opt/remi
COPY --from=builder ${ROOTFS}/etc/scl/prefixes/php56 /etc/scl/prefixes/php56
FROM scratch
ARG OS_VERSION=8.10
LABEL maintainer="Muhamad Aditya Prima <aprimediet@gmail.com>"
LABEL name="almalinux-micro"
LABEL version="${OS_VERSION}"
LABEL distribution-scope="public"
#labels for container catalog
LABEL summary="Almalinux 9 micro container image"
LABEL description="Provide latest release of micro Almalinux 9 container base image"
LABEL io.k8s.description="Very small almalinux 9 based image which doesn't install package manager"
LABEL io.k8s.display-name="Almalinux 9 Micro"
ARG PHP_VERSION=5.6
ARG PHP_VER_SHORT=56
ARG PHP_VER_SHORT=5
ENV PHP_VERSION=${PHP_VERSION}
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
LABEL name="php"
LABEL version="${PHP_VERSION}"
LABEL distribution-scope="public"
#labels for container catalog
LABEL summary="PHP ${PHP_VERSION} on almalinux-micro based container image"
LABEL description="Provide php on almalinux-micro based container base image"
LABEL io.k8s.description="Small almalinux micro container image"
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
COPY --from=stage2 / /
RUN ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php /usr/bin/php ; \

132
5/Dockerfile.full-almalinux Normal file
View File

@ -0,0 +1,132 @@
ARG OS_VERSION=8.10
FROM quay.io/sindigilive/almalinux:${OS_VERSION} AS builder
ARG FLAVOR=full
ARG WITH_APACHE=false
ARG WITH_DATABASE=false
ARG PHP_VERSION=5.6
ARG PHP_VER_SHORT=56
ENV FLAVOR=${FLAVOR}
ENV WITH_APACHE=${WITH_APACHE}
ENV WITH_DATABASE=${WITH_DATABASE}
ENV PHP_VERSION=${PHP_VERSION}
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
WORKDIR /tmp
ADD 5/scripts/almalinux-setup.sh ./setup.sh
ENV ROOTFS=/mnt/rootfs
RUN /bin/mkdir -p ${ROOTFS}; \
/bin/chmod +x ./setup.sh; \
/usr/bin/dnf install --installroot ${ROOTFS} \
coreutils-single \
glibc-minimal-langpack \
epel-release \
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y ; \
/usr/bin/dnf install --installroot ${ROOTFS} \
http://rpms.remirepo.net/enterprise/remi-release-8.rpm \
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y ; \
/usr/bin/dnf install --installroot ${ROOTFS} \
php${PHP_VER_SHORT}-php-cli \
php${PHP_VER_SHORT}-php-common \
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y ; \
/bin/sh ./setup.sh ; \
/usr/bin/dnf --installroot ${ROOTFS} clean all ; \
/bin/rm -f ./setup.sh ;
FROM quay.io/sindigilive/almalinux:${OS_VERSION}-micro AS stage2
ARG PHP_VER_SHORT=56
ENV ROOTFS=/mnt/rootfs
ENV SRC=${ROOTFS}/usr/lib64
RUN mkdir -p /app ; \
echo "php:x:1001:" >> /etc/group ; \
echo "php:x:1001:1001:php:/app:/bin/sh" >> /etc/passwd ; \
echo "php:!!:20070::::::" >> /etc/shadow ;
COPY --from=builder \
${SRC}/libcrypt.so.1 ${SRC}/libedit.so.0 ${SRC}/libstdc++.so.6 \
${SRC}/libz.so.1 ${SRC}/libpcre.so.1 ${SRC}/libxml2.so.2 \
${SRC}/liblzma.so.5 ${SRC}/libgssapi_krb5.so.2 ${SRC}/libkrb5.so.3 \
${SRC}/libk5crypto.so.3 ${SRC}/libcom_err.so.2 ${SRC}/libssl.so.1.1 \
${SRC}/libcrypto.so.1.1 ${SRC}/libkrb5support.so.0 ${SRC}/libkeyutils.so.1 \
${SRC}/libbz2.so.1 ${SRC}/libcurl.so.4 ${SRC}/libbz2.so.1 \
${SRC}/libnghttp2.so.14 ${SRC}/libzstd.so.1 ${SRC}/libidn2.so.0 \
${SRC}/libssh.so.4 ${SRC}/libpsl.so.5 ${SRC}/libldap-2.4.so.2 \
${SRC}/liblber-2.4.so.2 ${SRC}/libbrotlidec.so.1 ${SRC}/libunistring.so.2 \
${SRC}/libsasl2.so.3 ${SRC}/libbrotlicommon.so.1 ${SRC}/libdb-5.3.so \
${SRC}/libenchant.so.1 ${SRC}/libgd.so.103 ${SRC}/libgmp.so.10 \
${SRC}/libc-client.so.2007 ${SRC}/libfbclient.so.2 ${SRC}/libicui18n.so.69 \
${SRC}/libldap_r-2.4.so.2 ${SRC}/libmcrypt.so.4 ${SRC}/libsqlite3.so.0 \
${SRC}/libtidy.so.5 ${SRC}/libexslt.so.0 ${SRC}/libbrotlienc.so.1 \
${SRC}/libgeos_c.so.1 ${SRC}/libMagickWand-6.Q16.so.7 ${SRC}/libpurple.so.0 \
${SRC}/libtokyocabinet.so.9 ${SRC}/libgmodule-2.0.so.0 ${SRC}/libt1.so.5 \
${SRC}/libpam.so.0 ${SRC}/libtommath.so.1 ${SRC}/libicuuc.so.69 \
${SRC}/libltdl.so.7 ${SRC}/libxslt.so.1 ${SRC}/libgeos-3.7.2.so \
${SRC}/libMagickCore-6.Q16.so.7 ${SRC}/libdbus-glib-1.so.2 ${SRC}/libglib-2.0.so.0 \
${SRC}/libX11.so.6 ${SRC}/libaudit.so.1 ${SRC}/libtomcrypt.so.1 \
${SRC}/libicudata.so.69 ${SRC}/libgcrypt.so.20 ${SRC}/libtomcrypt.so.1 \
${SRC}/liblcms2.so.2 ${SRC}/libdbus-1.so.3 ${SRC}/libgnutls.so.30 \
${SRC}/libXpm.so.4 ${SRC}/libcap-ng.so.0 ${SRC}/libicuio.so.69 \
${SRC}/libgpg-error.so.0 ${SRC}/libraqm.so.0 ${SRC}/libgthread-2.0.so.0 \
${SRC}/libp11-kit.so.0 ${SRC}/libpng16.so.16 ${SRC}/libfontconfig.so.1 \
${SRC}/libfarstream-0.2.so.5 ${SRC}/libtasn1.so.6 ${SRC}/libjpeg.so.62 \
${SRC}/libfreetype.so.6 ${SRC}/libgstvideo-1.0.so.0 ${SRC}/libnettle.so.6 \
${SRC}/libimagequant.so.0 ${SRC}/libXext.so.6 ${SRC}/libgstapp-1.0.so.0 \
${SRC}/libhogweed.so.4 ${SRC}/libtiff.so.5 ${SRC}/libXt.so.6 \
${SRC}/libgstbase-1.0.so.0 ${SRC}/libffi.so.6 ${SRC}/libwebp.so.7 \
${SRC}/libSM.so.6 ${SRC}/libgstreamer-1.0.so.0 ${SRC}/libavif.so.14 \
${SRC}/libICE.so.6 ${SRC}/libgobject-2.0.so.0 ${SRC}/libgomp.so.1 \
${SRC}/libidn.so.11 ${SRC}/libxcb.so.1 ${SRC}/libharfbuzz.so.0 \
${SRC}/libgio-2.0.so.0 ${SRC}/libfribidi.so.0 ${SRC}/libsystemd.so.0 \
${SRC}/libexpat.so.1 ${SRC}/liborc-0.4.so.0 ${SRC}/libuuid.so.1 \
${SRC}/libmount.so.1 ${SRC}/libjbig.so.2.1 ${SRC}/libgraphite2.so.3 \
${SRC}/liblz4.so.1 ${SRC}/libdav1d.so.3 ${SRC}/libXau.so.6 \
${SRC}/libblkid.so.1 ${SRC}/libSvtAv1Enc.so.0 ${SRC}/libaom.so.3 \
/usr/lib64
COPY --from=builder ${ROOTFS}/usr/share/Modules/modulefiles/php56 /usr/share/Modules/modulefiles/php56
COPY --from=builder ${ROOTFS}/opt/remi /opt/remi
COPY --from=builder ${ROOTFS}/var/opt/remi /var/opt/remi
COPY --from=builder ${ROOTFS}/etc/opt/remi /etc/opt/remi
COPY --from=builder ${ROOTFS}/etc/scl/prefixes/php56 /etc/scl/prefixes/php56
FROM scratch
ARG PHP_VERSION=5.6
ARG PHP_VER_SHORT=56
ENV PHP_VERSION=${PHP_VERSION}
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
LABEL name="php"
LABEL version="${PHP_VERSION}"
LABEL distribution-scope="public"
#labels for container catalog
LABEL summary="PHP ${PHP_VERSION} on almalinux-micro based container image"
LABEL description="Provide php on almalinux-micro based container base image"
LABEL io.k8s.description="Small almalinux micro container image"
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
COPY --from=stage2 / /
RUN ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php /usr/bin/php ; \
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php-cgi /usr/bin/php-cgi ; \
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php-phar /usr/bin/php-phar ; \
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/phpize /usr/bin/phpize ;
USER php
WORKDIR /app
STOPSIGNAL SIGQUIT
CMD ["/usr/bin/php", "-v"]

View File

@ -0,0 +1,32 @@
#!/bin/sh
PHP_LIST="bcmath,brotli,dba,embedded,enchant,
gd,geos,gmp,imap,interbase,
intl,ioncube-loader,ldap,lz4,magickwand,
mbstring,mcrypt,opcache,pear,phurple,
soap,tidy,twig,xcache,xml,
xmlrpc,zstd";
PHP_DEPS="";
# apache2 configurations
SERVER_ROOT="/app";
APP_ROOT="$SERVER_ROOT/htdocs";
LOG_LEVEL="info";
# Setup php flavor
if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; then
for i in $(echo $PHP_LIST | tr "," "\n"); do
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-php-$i ";
done
/usr/bin/dnf install --installroot $ROOTFS \
$PHP_DEPS \
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y;
fi
if [[ "$FLAVOR" == "debug" ]]; then
LOG_LEVEL="debug";
/usr/bin/dnf install --installroot $ROOTFS \
php$PHP_VER_SHORT-php-dbg \
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y;
fi