diff --git a/Others/apr-util/1.7.6/24.03-lts-sp1/Dockerfile b/Others/apr-util/1.7.6/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..75e67ae082d269ecf42c729240e4e3ed8aad483f --- /dev/null +++ b/Others/apr-util/1.7.6/24.03-lts-sp1/Dockerfile @@ -0,0 +1,26 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} as BUILDER +ARG VERSION=1.7.6 + +RUN dnf update -y && \ + dnf install -y \ + wget \ + gcc \ + make \ + libtool \ + && dnf clean all \ + && rm -rf /var/cache/dnf/* + +WORKDIR /opt + +RUN wget https://dlcdn.apache.org/apr/apr-${VERSION}.tar.gz \ + && tar -zxvf apr-${VERSION}.tar.gz \ + && rm -f apr-${VERSION}.tar.gz + +WORKDIR /opt/apr-${VERSION} + +RUN ./configure \ + && make -j$(nproc) \ + && make install + +CMD ["/usr/local/apr/bin/apr-1-config"] diff --git a/Others/apr-util/meta.yml b/Others/apr-util/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..a67abd76f6e7ee7f1c80383e2dc25cd535e67e5c --- /dev/null +++ b/Others/apr-util/meta.yml @@ -0,0 +1,2 @@ +1.7.6-oe2403sp1: + path: 1.7.6/24.03-lts-sp1/Dockerfile diff --git a/Others/bcache/1.1/24.03-lts-sp1/Dockerfile b/Others/bcache/1.1/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..200daf5ac794e9ab969f8c30223cbf34cda9698b --- /dev/null +++ b/Others/bcache/1.1/24.03-lts-sp1/Dockerfile @@ -0,0 +1,31 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} as BUILDER +ARG VERSION=1.1 + +RUN dnf update -y && \ + dnf install -y \ + wget \ + gcc \ + make \ + patch \ + util-linux-devel \ + libuuid-devel \ + && dnf clean all \ + && rm -rf /var/cache/dnf/* + +WORKDIR /opt + +COPY Export-CACHED_UUID-and-CACHED_LABEL.patch . + +RUN wget https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git/snapshot/bcache-tools-${VERSION}.tar.gz \ + && tar -zxvf bcache-tools-${VERSION}.tar.gz \ + && rm -f bcache-tools-${VERSION}.tar.gz + +WORKDIR /opt/bcache-tools-${VERSION} + +RUN mkdir -p /usr/share/man/man8 \ + && patch -p1 < ../Export-CACHED_UUID-and-CACHED_LABEL.patch \ + && make -j$(nproc) \ + && make install + +CMD ["make-bcache"] diff --git a/Others/bcache/1.1/24.03-lts-sp1/Export-CACHED_UUID-and-CACHED_LABEL.patch b/Others/bcache/1.1/24.03-lts-sp1/Export-CACHED_UUID-and-CACHED_LABEL.patch new file mode 100644 index 0000000000000000000000000000000000000000..c107e5185cb01a6f3ce90dc544a6624aa2e67876 --- /dev/null +++ b/Others/bcache/1.1/24.03-lts-sp1/Export-CACHED_UUID-and-CACHED_LABEL.patch @@ -0,0 +1,128 @@ +From 2cfea71ab753fc65f1d97b0af327e6e9e3fa204b Mon Sep 17 00:00:00 2001 +From: Ryan Harper +Date: Wed, 19 Aug 2020 18:51:27 +0800 +Subject: [PATCH] bcache-tools: Export CACHED_UUID and CACHED_LABEL + +https://github.com/koverstreet/bcache-tools/pull/1 + +Add bcache-export-cached helper to export CACHED_UUID and CACHED_LABEL always + +Linux kernel bcache driver does not always emit a uevent[1] for when +a backing device is bound to a bcacheN device. When this happens, the udev +rule for creating /dev/bcache/by-uuid or /dev/bcache/by-label symlinks does +not fire and removes any persistent symlink to a specific backing device +since the bcache minor numbers (bcache0, 1, 2) are not guaranteed across reboots. + +This script reads the superblock of the bcache device slaves,ensuring the slave +is a backing device via sb.version check, extracts the dev.uuid and +dev.label values and exports them to udev for triggering the symlink rules in +the existing rules file. + +1. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1729145 + +Signed-off-by: Shaoxiong Li +Signed-off-by: Coly Li +--- + 69-bcache.rules | 7 +++---- + Makefile | 2 +- + bcache-export-cached | 31 +++++++++++++++++++++++++++++++ + initcpio/install | 1 + + initramfs/hook | 1 + + 5 files changed, 37 insertions(+), 5 deletions(-) + create mode 100644 bcache-export-cached + +diff --git a/69-bcache.rules b/69-bcache.rules +index 9cc7f0d..fd25f5b 100644 +--- a/69-bcache.rules ++++ b/69-bcache.rules +@@ -23,10 +23,9 @@ RUN+="bcache-register $tempnode" + LABEL="bcache_backing_end" + + # Cached devices: symlink +-DRIVER=="bcache", ENV{CACHED_UUID}=="?*", \ +- SYMLINK+="bcache/by-uuid/$env{CACHED_UUID}" +-DRIVER=="bcache", ENV{CACHED_LABEL}=="?*", \ +- SYMLINK+="bcache/by-label/$env{CACHED_LABEL}" ++IMPORT{program}="bcache-export-cached $tempnode" ++ENV{CACHED_UUID}=="?*", SYMLINK+="bcache/by-uuid/$env{CACHED_UUID}" ++ENV{CACHED_LABEL}=="?*", SYMLINK+="bcache/by-label/$env{CACHED_LABEL}" + + LABEL="bcache_end" + +diff --git a/Makefile b/Makefile +index 8b87a67..90db951 100644 +--- a/Makefile ++++ b/Makefile +@@ -9,7 +9,7 @@ all: make-bcache probe-bcache bcache-super-show bcache-register bcache + + install: make-bcache probe-bcache bcache-super-show + $(INSTALL) -m0755 make-bcache bcache-super-show bcache $(DESTDIR)${PREFIX}/sbin/ +- $(INSTALL) -m0755 probe-bcache bcache-register $(DESTDIR)$(UDEVLIBDIR)/ ++ $(INSTALL) -m0755 probe-bcache bcache-register bcache-export-cached $(DESTDIR)$(UDEVLIBDIR)/ + $(INSTALL) -m0644 69-bcache.rules $(DESTDIR)$(UDEVLIBDIR)/rules.d/ + $(INSTALL) -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/ + $(INSTALL) -D -m0755 initramfs/hook $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache +diff --git a/bcache-export-cached b/bcache-export-cached +new file mode 100644 +index 0000000..b345922 +--- /dev/null ++++ b/bcache-export-cached +@@ -0,0 +1,31 @@ ++#!/bin/sh ++# ++# This program reads the bcache superblock on bcacheX slaves to extract the ++# dev.uuid and dev.label which refer to a specific backing device. ++# ++# It integrates with udev 'import' by writing CACHED_UUID=X and optionally ++# CACHED_LABEL=X for the backing device of the provided bcache device. ++# Ignore caching devices by skipping unless sb.version=1 ++# ++# There is 1 and only 1 backing device (slaves/*) for a bcache device. ++ ++TEMPNODE=${1} # /dev/bcacheN ++DEVNAME=${TEMPNODE##*/} # /dev/bcacheN -> bcacheN ++ ++for slave in "/sys/class/block/$DEVNAME/slaves"/*; do ++ [ -d "$slave" ] || continue ++ bcache-super-show "/dev/${slave##*/}" | ++ awk '$1 == "sb.version" { sbver=$2; } ++ $1 == "dev.uuid" { uuid=$2; } ++ $1 == "dev.label" && $2 != "(empty)" { label=$2; } ++ END { ++ if (sbver == 1 && uuid) { ++ print("CACHED_UUID=" uuid) ++ if (label) print("CACHED_LABEL=" label) ++ exit(0) ++ } ++ exit(1); ++ }' ++ # awk exits 0 if it found a backing device. ++ [ $? -eq 0 ] && exit 0 ++done +diff --git a/initcpio/install b/initcpio/install +index 72d4231..c1a86fe 100755 +--- a/initcpio/install ++++ b/initcpio/install +@@ -1,6 +1,7 @@ + #!/bin/bash + build() { + add_module bcache ++ add_binary /usr/lib/udev/bcache-export-cached + add_binary /usr/lib/udev/bcache-register + add_binary /usr/lib/udev/probe-bcache + add_file /usr/lib/udev/rules.d/69-bcache.rules +diff --git a/initramfs/hook b/initramfs/hook +index a6baa24..485491d 100755 +--- a/initramfs/hook ++++ b/initramfs/hook +@@ -22,6 +22,7 @@ elif [ -e /lib/udev/rules.d/69-bcache.rules ]; then + cp -pt "${DESTDIR}/lib/udev/rules.d" /lib/udev/rules.d/69-bcache.rules + fi + ++copy_exec /lib/udev/bcache-export-cached + copy_exec /lib/udev/bcache-register + copy_exec /lib/udev/probe-bcache + manual_add_modules bcache +-- +2.33.0 + diff --git a/Others/bcache/meta.yml b/Others/bcache/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..98ff6ed763b8fe75eb08803f17b781749e19c5d1 --- /dev/null +++ b/Others/bcache/meta.yml @@ -0,0 +1,2 @@ +1.1-oe2403sp1: + path: 1.1/24.03-lts-sp1/Dockerfile diff --git a/Others/dpdk/25.03/24.03-lts-sp1/Dockerfile b/Others/dpdk/25.03/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..7b29b3ff9f1ccadbb712d40f1deb939f30526e26 --- /dev/null +++ b/Others/dpdk/25.03/24.03-lts-sp1/Dockerfile @@ -0,0 +1,25 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} AS builder +ARG VERSION=25.03 + +RUN dnf install -y \ + git meson ninja-build gcc make \ + numactl-devel elfutils-libelf-devel \ + python3-pyelftools pkgconfig \ + && dnf clean all \ + && rm -rf /var/cache/dnf + +RUN git clone -b v${VERSION} --depth 1 https://github.com/DPDK/dpdk.git /dpdk && \ + git config --global --add safe.directory /dpdk + +WORKDIR /dpdk + +RUN meson setup build -Dplatform=generic && \ + cd build && \ + ninja && \ + meson install + +ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH \ + LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH + +CMD ["bash"] \ No newline at end of file diff --git a/Others/dpdk/meta.yml b/Others/dpdk/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..f56530833146e2506f72d4f21f22710476200271 --- /dev/null +++ b/Others/dpdk/meta.yml @@ -0,0 +1,2 @@ +25.03-oe2403sp1: + path: 25.03/24.03-lts-sp1/Dockerfile diff --git a/Others/edk2/202502/24.03-lts-sp1/Dockerfile b/Others/edk2/202502/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..99973b62fa76f42a84a37cb5a37f545f6f0dcc32 --- /dev/null +++ b/Others/edk2/202502/24.03-lts-sp1/Dockerfile @@ -0,0 +1,19 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} +ARG VERSION=202502 + +RUN dnf install -y git gcc-c++ make libuuid-devel python \ + && dnf clean all \ + && rm -rf /var/cache/dnf/* + +WORKDIR /opt + +RUN git clone -b edk2-stable${VERSION} https://github.com/tianocore/edk2 && \ + cd edk2 && \ + git submodule update --init --recursive + +WORKDIR /opt/edk2 + +RUN make -C BaseTools + +CMD ["bash"] diff --git a/Others/edk2/meta.yml b/Others/edk2/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..97e62a9deb66737a36eaff472098fea1cfb1715d --- /dev/null +++ b/Others/edk2/meta.yml @@ -0,0 +1,2 @@ +202502-oe2403sp1: + path: 202502/24.03-lts-sp1/Dockerfile diff --git a/Others/glibc/2.41/24.03-lts-sp1/Dockerfile b/Others/glibc/2.41/24.03-lts-sp1/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..ebca19387025bd994ef8e83e65d684ca1cac141f --- /dev/null +++ b/Others/glibc/2.41/24.03-lts-sp1/Dockerfile @@ -0,0 +1,26 @@ +ARG BASE=openeuler/openeuler:24.03-lts-sp1 +FROM ${BASE} as BUILDER +ARG VERSION=2.41 + +RUN dnf update -y && \ + dnf install -y \ + bison \ + gcc \ + gcc-c++ \ + make \ + git \ + && dnf clean all \ + && rm -rf /var/cache/dnf/* + +WORKDIR /opt +RUN git clone -b release/${VERSION}/master --depth=1 https://sourceware.org/git/glibc.git + +WORKDIR /opt/glibc/build +RUN ../configure --prefix=/opt/glibc-${VERSION} && \ + make -j$(nproc) && \ + make install + +FROM ${BASE} +ARG VERSION=2.41 +COPY --from=BUILDER /opt/glibc-${VERSION} /opt/glibc-${VERSION} +CMD ["/opt/glibc-2.41/bin/ldd", "--version"] diff --git a/Others/glibc/meta.yml b/Others/glibc/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..4283be592e58e0721f68f4fb92d96a02db714060 --- /dev/null +++ b/Others/glibc/meta.yml @@ -0,0 +1,2 @@ +2.41-oe2403sp1: + path: 2.41/24.03-lts-sp1/Dockerfile diff --git a/Others/npmjs/20.18.2/24.03-lts-sp1/Dockerfile b/Others/npmjs/20.18.2/24.03-lts-sp1/Dockerfile deleted file mode 100644 index a47e83bbeb474942950500a5ecd4354cb8d06d9d..0000000000000000000000000000000000000000 --- a/Others/npmjs/20.18.2/24.03-lts-sp1/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -ARG BASE=openeuler/openeuler:24.03-lts-sp1 -FROM ${BASE} - -RUN yum update -y && \ - yum install -y nodejs jq && \ - yum clean all && \ - rm -rf /var/cache/yum - -COPY entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh - -WORKDIR /tmp - -ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file diff --git a/Others/npmjs/20.18.2/24.03-lts-sp1/entrypoint.sh b/Others/npmjs/20.18.2/24.03-lts-sp1/entrypoint.sh deleted file mode 100644 index f2a39fdb46d20f052574377f93d6701f2390822e..0000000000000000000000000000000000000000 --- a/Others/npmjs/20.18.2/24.03-lts-sp1/entrypoint.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash - -# Configuration with date-based paths -EXECUTION_TIME=$(date +%s) -NPM_ROOT_DIR="/var/run/npm" -NPM_JSON_FILE="$NPM_ROOT_DIR/result.json" -NPM_CENTRAL_URL="https://www.npmjs.com/package" - -if [ $# -eq 0 ]; then - echo "No packages specified. Nothing to do." - exit 0 -fi - -# Initialize files with execution info -mkdir -p "$NPM_ROOT_DIR" -cat > "$NPM_JSON_FILE" <> "$log" 2>&1 - local status=$? - - local version="\"\"" - local url="\"\"" - if [ $status -eq 0 ]; then - version="$(npm list --depth=0 --json | jq -r ".dependencies.\"${pkg}\".version")" - url="\"$NPM_CENTRAL_URL/$pkg\"" - fi - - local end_time=$(date +%s) - local duration=$(( end_time - start_time )) - - # Build package JSON entry - json_packages+="$(cat < "$NPM_JSON_FILE" <