From e9259923d728afe503c7e7b1d496ee6868f3317d Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Thu, 22 May 2025 19:53:18 +0800 Subject: [PATCH] basic apps --- .../filebeat/9.0.1/24.03-lts-sp1/Dockerfile | 40 ++++++++++++++++ Others/filebeat/meta.yml | 2 + Others/gcc/15.1.0/24.03-lts-sp1/Dockerfile | 43 +++++++++++++++++ Others/gcc/meta.yml | 2 + .../unixbench/6.0.0/24.03-lts-sp1/Dockerfile | 47 +++++++++++++++++++ .../24.03-lts-sp1/unixbench-add-HOWTO.patch | 22 +++++++++ Others/unixbench/meta.yml | 2 + Others/webbench/1.5/24.03-lts-sp1/Dockerfile | 21 +++++++++ Others/webbench/meta.yml | 2 + Others/wrk/4.2.0/24.03-lts-sp1/Dockerfile | 21 +++++++++ Others/wrk/meta.yml | 2 + 11 files changed, 204 insertions(+) create mode 100644 Others/filebeat/9.0.1/24.03-lts-sp1/Dockerfile create mode 100644 Others/filebeat/meta.yml create mode 100644 Others/gcc/15.1.0/24.03-lts-sp1/Dockerfile create mode 100644 Others/gcc/meta.yml create mode 100644 Others/unixbench/6.0.0/24.03-lts-sp1/Dockerfile create mode 100644 Others/unixbench/6.0.0/24.03-lts-sp1/unixbench-add-HOWTO.patch create mode 100644 Others/unixbench/meta.yml create mode 100644 Others/webbench/1.5/24.03-lts-sp1/Dockerfile create mode 100644 Others/webbench/meta.yml create mode 100644 Others/wrk/4.2.0/24.03-lts-sp1/Dockerfile create mode 100644 Others/wrk/meta.yml diff --git a/Others/filebeat/9.0.1/24.03-lts-sp1/Dockerfile b/Others/filebeat/9.0.1/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000..08016ac --- /dev/null +++ b/Others/filebeat/9.0.1/24.03-lts-sp1/Dockerfile @@ -0,0 +1,40 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} AS builder + +ARG VERSION=9.0.1 +ARG TARGETARCH +ARG BUILDARCH +ARG GO_VERSION=1.24.1 + +RUN dnf update -y \ + && dnf install -y make gcc-c++ python3 wget \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +WORKDIR /opt + +RUN if [ "$TARGETARCH" = "amd64" ]; then \ + BUILDARCH="amd64"; \ + elif [ "$TARGETARCH" = "arm64" ]; then \ + BUILDARCH="arm64"; \ + fi; \ + wget https://go.dev/dl/go${GO_VERSION}.linux-${BUILDARCH}.tar.gz \ + && tar -C /usr/local -xzf go${GO_VERSION}.linux-${BUILDARCH}.tar.gz \ + && rm -f go${GO_VERSION}.linux-${BUILDARCH}.tar.gz + +ENV PATH=/usr/local/go/bin:$PATH + +RUN wget https://github.com/elastic/beats/archive/refs/tags/v${VERSION}.tar.gz \ + && tar -zxvf v${VERSION}.tar.gz \ + && rm -f v${VERSION}.tar.gz + +WORKDIR /opt/beats-${VERSION}/filebeat + +RUN make -j \ + && mv filebeat /usr/local/bin/ + +FROM ${BASE} + +COPY --from=builder /usr/local/bin/filebeat /usr/local/bin/filebeat + +CMD ["filebeat", "--help"] diff --git a/Others/filebeat/meta.yml b/Others/filebeat/meta.yml new file mode 100644 index 0000000..48f1252 --- /dev/null +++ b/Others/filebeat/meta.yml @@ -0,0 +1,2 @@ +9.0.1-oe2403sp1: + path: 9.0.1/24.03-lts-sp1/Dockerfile diff --git a/Others/gcc/15.1.0/24.03-lts-sp1/Dockerfile b/Others/gcc/15.1.0/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000..9283263 --- /dev/null +++ b/Others/gcc/15.1.0/24.03-lts-sp1/Dockerfile @@ -0,0 +1,43 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} AS builder + +ARG VERSION=15.1.0 + +RUN dnf update -y \ + && dnf install -y gcc gcc-c++ make bison flex \ + gmp-devel mpfr-devel libmpc-devel diffutils \ + zlib-devel texinfo isl-devel wget \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +WORKDIR /opt + +RUN wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-${VERSION}/gcc-${VERSION}.tar.gz \ + && tar -zxvf gcc-${VERSION}.tar.gz \ + && rm -f gcc-${VERSION}.tar.gz + +WORKDIR /opt/gcc-${VERSION} + +RUN mkdir -p gcc-deps \ + && cd gcc-deps \ + && wget https://mirrors.ustc.edu.cn/gnu/gmp/gmp-6.2.1.tar.bz2 \ + && wget https://mirrors.ustc.edu.cn/gnu/mpfr/mpfr-4.1.0.tar.bz2 \ + && wget https://mirrors.ustc.edu.cn/gnu/mpc/mpc-1.2.1.tar.gz \ + && wget https://mirrors.ustc.edu.cn/gnu/gettext/gettext-0.22.tar.gz \ + && wget https://libisl.sourceforge.io/isl-0.24.tar.bz2 \ + && ln -s gmp-6.2.1 ../gmp \ + && ln -s mpfr-4.1.0 ../mpfr \ + && ln -s mpc-1.2.1 ../mpc \ + && ln -s isl-0.24 ../isl \ + && ln -s gettext-0.22 ../gettext + +RUN dnf install -y diffutils +RUN mkdir -p gcc-build \ + && cd gcc-build \ + && ../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib \ + && make -j$(nproc) \ + && make install + +WORKDIR /usr/local/gcc + +CMD ["./bin/gcc", "--help"] \ No newline at end of file diff --git a/Others/gcc/meta.yml b/Others/gcc/meta.yml new file mode 100644 index 0000000..cd77900 --- /dev/null +++ b/Others/gcc/meta.yml @@ -0,0 +1,2 @@ +15.1.0-oe2403sp1: + path: 15.1.0/24.03-lts-sp1/Dockerfile diff --git a/Others/unixbench/6.0.0/24.03-lts-sp1/Dockerfile b/Others/unixbench/6.0.0/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000..9ba2b2a --- /dev/null +++ b/Others/unixbench/6.0.0/24.03-lts-sp1/Dockerfile @@ -0,0 +1,47 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} AS builder + +ARG VERSION=6.0.0 + +RUN dnf update -y \ + && dnf install -y gcc make patch wget perl perl-Time-HiRes time systemd \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +WORKDIR /opt + +RUN wget https://github.com/kdlucas/byte-unixbench/archive/v${VERSION}.tar.gz -O unixbench-${VERSION}.tar.gz \ + && tar -zxvf unixbench-${VERSION}.tar.gz \ + && rm -f unixbench-${VERSION}.tar.gz + +WORKDIR /opt/byte-unixbench-${VERSION} + +COPY unixbench-add-HOWTO.patch ./unixbench-add-HOWTO.patch + +RUN patch -p1 < unixbench-add-HOWTO.patch + +RUN mkdir -p /opt/unixbench/{pgms,src,testdir} \ + && cd UnixBench \ + && cp -p src/* /opt/unixbench/src/ \ + && cp -p testdir/* /opt/unixbench/testdir/ \ + && cp -p README USAGE HOWTO Makefile /opt/unixbench/ \ + && cp -p Run /opt/unixbench/ \ + && cp -p pgms/gfx-x11 pgms/*.sh /opt/unixbench/pgms/ \ + && cp -p pgms/index.base pgms/unixbench.logo /opt/unixbench/pgms/ \ + && chmod 755 /opt/unixbench/Run /opt/unixbench/pgms/gfx-x11 /opt/unixbench/pgms/*.sh \ + && chmod 644 /opt/unixbench/README /opt/unixbench/USAGE /opt/unixbench/HOWTO /opt/unixbench/Makefile /opt/unixbench/pgms/index.base /opt/unixbench/pgms/unixbench.logo \ + && cd /opt/unixbench \ + && make -j$(nproc) + + +FROM ${BASE} AS final + +RUN dnf install -y make gcc perl perl-Time-HiRes time systemd \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +COPY --from=builder /opt/unixbench /opt/unixbench + +WORKDIR /opt/unixbench + +CMD ["./Run", "dhry2reg"] diff --git a/Others/unixbench/6.0.0/24.03-lts-sp1/unixbench-add-HOWTO.patch b/Others/unixbench/6.0.0/24.03-lts-sp1/unixbench-add-HOWTO.patch new file mode 100644 index 0000000..79480b2 --- /dev/null +++ b/Others/unixbench/6.0.0/24.03-lts-sp1/unixbench-add-HOWTO.patch @@ -0,0 +1,22 @@ +diff -urN byte-unixbench-6.0.0/UnixBench/HOWTO byte-unixbench-6.0.0-bak/UnixBench/HOWTO +--- byte-unixbench-6.0.0/UnixBench/HOWTO 1970-01-01 08:00:00.000000000 +0800 ++++ byte-unixbench-6.0.0-bak/UnixBench/HOWTO 2020-05-03 00:15:21.446228140 +0800 +@@ -0,0 +1,18 @@ ++This is an ugly usage solution for unixbench because it's not a friendly package software. ++ ++So, what we do is to keep all files and rebuild locally. ++ ++mkdir xxx/ ++cp -r /opt/unixbench/src xxx/ ++cp /opt/unixbench/Run xxx/ ++cp /opt/unixbench/Makefile xxx/ ++chmod +x xxx/Run ++mkdir xxx/pgms ++cp /opt/unixbench/pgms/* xxx/pgms/ ++mkdir xxx/testdir ++mkdir xxx/tmp ++mkdir xxx/results ++cd xxx ++./Run ++ ++do whatever you want. diff --git a/Others/unixbench/meta.yml b/Others/unixbench/meta.yml new file mode 100644 index 0000000..1dc2c6d --- /dev/null +++ b/Others/unixbench/meta.yml @@ -0,0 +1,2 @@ +6.0.0-oe2403sp1: + path: 6.0.0/24.03-lts-sp1/Dockerfile diff --git a/Others/webbench/1.5/24.03-lts-sp1/Dockerfile b/Others/webbench/1.5/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000..89c277b --- /dev/null +++ b/Others/webbench/1.5/24.03-lts-sp1/Dockerfile @@ -0,0 +1,21 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} +ARG VERSION=1.5 + +RUN dnf update -y \ + && dnf install -y gcc make ctags libtirpc-devel \ + && dnf clean all + +WORKDIR /opt + +RUN curl -LO http://home.tiscali.cz/~cz210552/distfiles/webbench-${VERSION}.tar.gz \ + && tar -xzf webbench-${VERSION}.tar.gz \ + && rm -f webbench-${VERSION}.tar.gz + +WORKDIR /opt/webbench-${VERSION} + +RUN mkdir -p /usr/local/man/man1 && \ + make CFLAGS="-ggdb -W -I/usr/include/tirpc" && \ + make install + +CMD ["webbench", "--help"] \ No newline at end of file diff --git a/Others/webbench/meta.yml b/Others/webbench/meta.yml new file mode 100644 index 0000000..cc8fbfd --- /dev/null +++ b/Others/webbench/meta.yml @@ -0,0 +1,2 @@ +1.5-oe2403sp1: + path: 1.5/24.03-lts-sp1/Dockerfile diff --git a/Others/wrk/4.2.0/24.03-lts-sp1/Dockerfile b/Others/wrk/4.2.0/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000..dbbb20d --- /dev/null +++ b/Others/wrk/4.2.0/24.03-lts-sp1/Dockerfile @@ -0,0 +1,21 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} AS builder + +ARG VERSION=4.2.0 + +RUN dnf update -y \ + && dnf install -y git gcc make curl unzip openssl-devel pkgconf \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +WORKDIR /opt + +RUN git clone -b ${VERSION} --depth 1 https://github.com/wg/wrk.git + +WORKDIR /opt/wrk + +RUN make obj/LuaJIT-2.1 \ + && make -j \ + && cp ./wrk /usr/local/bin/ + +CMD ["wrk", "--version"] diff --git a/Others/wrk/meta.yml b/Others/wrk/meta.yml new file mode 100644 index 0000000..61acccf --- /dev/null +++ b/Others/wrk/meta.yml @@ -0,0 +1,2 @@ +4.2.0-oe2403sp1: + path: 4.2.0/24.03-lts-sp1/Dockerfile -- Gitee