update to 1.3.3 version, support multi-version build

This commit is contained in:
root 2021-07-22 12:03:28 +00:00
parent 35395538b4
commit 7440fe3936
5 changed files with 72 additions and 5 deletions

View File

@ -2,7 +2,7 @@ FROM alpine:latest
# define script basic information
# Version of this Dockerfile
ENV SCRIPT_VERSION=1.3.2
ENV SCRIPT_VERSION=1.3.3
# Download address uses backup address
# (if downloading slowly, consider set it to yes)
ENV USE_BACKUP=no

View File

@ -36,8 +36,7 @@
"liblzma": {
"version": "master",
"link": "https://dl.zhamao.me/liblzma/liblzma.tar.gz",
"link_2": "https://github.com/kobolabs/liblzma/archive/refs/heads/master.zip",
"alt_name": "master"
"link_2": "https://github.com/kobolabs/liblzma/archive/refs/heads/master.zip"
},
"curl": {
"version": "7.78.0",

View File

@ -29,10 +29,10 @@ archive_find_zip=$(find cache/ -name "$1.*" | grep -E ".zip" | tail -n1)
if [ "$archive_find_tar" != "" ]; then
echo "Using cache for $1 ($archive_find_tar)"
tar -zxvf $archive_file_tar -C $SELF_DIR/source
tar -zxvf "$archive_find_tar"
elif [ "$archive_find_zip" != "" ]; then
echo "Using cache for $1 ($archive_find_zip)"
unzip $archive_find_zip -d $SELF_DIR/source
unzip $archive_find_zip -d "$SELF_DIR/source"
else
if [ "$3" != "" ]; then
wget -q --show-progress "$(readconf ".$1.link$_use_backup" | sed 's/{version}/'$3'/g')"

View File

@ -1,5 +1,7 @@
#!/bin/sh
# This script needs alpine linux system.
VER_PHP="7.4.21"
USE_BACKUP="no"

View File

@ -0,0 +1,66 @@
#!/bin/sh
USE_BACKUP="no"
LINK_APK_REPO='mirrors.ustc.edu.cn'
LINK_APK_REPO_BAK='dl-cdn.alpinelinux.org'
if [ "${USE_BACKUP}" = "yes" ]; then \
echo "Using backup address..." && sleep 1s
LINK_APK_REPO=${LINK_APK_REPO_BAK}
else
echo "Using original address..." && sleep 1s
fi
sed -i 's/dl-cdn.alpinelinux.org/'${LINK_APK_REPO}'/g' /etc/apk/repositories
# build requirements
apk add bash wget cmake gcc g++ jq autoconf git libstdc++ linux-headers make m4 libgcc binutils ncurses
# php zlib dependencies
apk add zlib-dev zlib-static
# php mbstring dependencies
apk add oniguruma-dev
# php openssl dependencies
apk add openssl-libs-static openssl-dev openssl
# php gd dependencies
apk add libpng-dev libpng-static
# curl c-ares dependencies
apk add c-ares-static c-ares-dev
# php event dependencies
apk add libevent libevent-dev libevent-static
# php sqlite3 dependencies
apk add sqlite sqlite-dev sqlite-libs sqlite-static
chmod +x download.sh check-extensions.sh compile-php.sh
./download.sh swoole ${USE_BACKUP} && \
./download.sh inotify ${USE_BACKUP} && \
./download.sh mongodb ${USE_BACKUP} && \
./download.sh event ${USE_BACKUP} && \
./download.sh redis ${USE_BACKUP} && \
./download.sh libxml2 ${USE_BACKUP} && \
./download.sh liblzma ${USE_BACKUP} && \
./download.sh curl ${USE_BACKUP}
if [ ! -d "multi-build" ]; then
mkdir ./multi-build
fi
for VER_PHP in "7.2.34" "7.3.29" "7.4.21" "8.0.8"
do
./download.sh swoole ${USE_BACKUP} && \
./download.sh inotify ${USE_BACKUP} && \
./download.sh mongodb ${USE_BACKUP} && \
./download.sh event ${USE_BACKUP} && \
./download.sh redis ${USE_BACKUP} && \
./download.sh libxml2 ${USE_BACKUP} && \
./download.sh liblzma ${USE_BACKUP} && \
./download.sh curl ${USE_BACKUP} && \
./download.sh php ${USE_BACKUP} ${VER_PHP} && \
./check-extensions.sh check_before_configure && \
./compile-php.sh ${VER_PHP} && \
cp ./php-dist/bin/php ./multi-build/php-${VER_PHP} && \
rm -rf ./source
done