diff --git a/Dockerfile b/Dockerfile index e753e3c..aae920d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,25 @@ ARG BASEIMAGE="php:8.4.11-cli-alpine3.22" +# Update max buffer length for /bin/sh, to allow paste larger than 2k characters +FROM $BASEIMAGE AS busybox + +ENV BUSYBOX_VERSION="1.36.1" \ + MAX_PASTE_LENGTH="65536" + +RUN apk add --no-cache busybox-extras build-base openssl-dev gcc perl musl-dev make linux-headers wget + +RUN wget https://busybox.net/downloads/busybox-${BUSYBOX_VERSION}.tar.bz2 && \ + tar xf busybox-${BUSYBOX_VERSION}.tar.bz2 && \ + mv busybox-${BUSYBOX_VERSION} busybox + +WORKDIR /busybox + +RUN make defconfig && \ + sed -i 's/CONFIG_FEATURE_EDITING_MAX_LEN=.*/CONFIG_FEATURE_EDITING_MAX_LEN=8192/' .config && \ + yes "" | make oldconfig + +RUN make -j$(nproc) + FROM $BASEIMAGE AS compile ENV PHP_REDIS_VERSION="6.2.0" \ @@ -210,6 +230,7 @@ RUN \ WORKDIR /usr/src/code +COPY --from=busybox /busybox/busybox /bin/busybox COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20240924/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/ COPY --from=redis /usr/local/lib/php/extensions/no-debug-non-zts-20240924/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/ COPY --from=imagick /usr/local/lib/php/extensions/no-debug-non-zts-20240924/imagick.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/ diff --git a/tests.yaml b/tests.yaml index 276f1f6..1fed885 100644 --- a/tests.yaml +++ b/tests.yaml @@ -1,6 +1,10 @@ schemaVersion: '2.0.0' commandTests: + - name: 'Busybox command' + command: "busybox" + args: ["whoami"] + expectedOutput: ["root"] - name: 'Imagemagick command' command: "magick" args: ["--version"]