diff --git a/.kres.yaml b/.kres.yaml index 006e113c1..1d96f9c82 100644 --- a/.kres.yaml +++ b/.kres.yaml @@ -49,6 +49,7 @@ spec: - perf-pkg - pigz - qemu-tools + - rpm - runc - sd-boot - socat @@ -68,6 +69,7 @@ spec: - ena-pkg - gasket-driver-pkg - hailort-pkg + - mellanox-doca-pkg - mellanox-mstflint-pkg - nvidia-open-gpu-kernel-modules-lts-pkg - nvidia-open-gpu-kernel-modules-production-pkg diff --git a/Makefile b/Makefile index 39eca72b2..877e154ec 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT. # -# Generated on 2025-12-31T09:52:12Z by kres 8a4aebf. +# Generated on 2026-01-10T06:17:39Z by kres 0e8da31. # common variables @@ -93,6 +93,7 @@ TARGETS += pcre2 TARGETS += perf-pkg TARGETS += pigz TARGETS += qemu-tools +TARGETS += rpm TARGETS += runc TARGETS += sd-boot TARGETS += socat @@ -110,6 +111,7 @@ TARGETS += drbd-pkg TARGETS += ena-pkg TARGETS += gasket-driver-pkg TARGETS += hailort-pkg +TARGETS += mellanox-doca-pkg TARGETS += mellanox-mstflint-pkg TARGETS += nvidia-open-gpu-kernel-modules-lts-pkg TARGETS += nvidia-open-gpu-kernel-modules-production-pkg diff --git a/Pkgfile b/Pkgfile index 56f60f874..72f4a5702 100644 --- a/Pkgfile +++ b/Pkgfile @@ -197,9 +197,24 @@ vars: mellanox_mstflint_sha256: da6b749c4e340192146a19a5c5073f63a75f2a5a324f321bda957c5a0c7ce99b mellanox_mstflint_sha512: fed2956899d60a071c968b5f1bdafebbbeec8267e6a1d1818aac99705cde1fe61185223bb9031c2b7953d1d352f20b647f6edbdb7e7809fc735345ef531655f7 - mellanox_ofed_version: 5.9-0.5.6.0 - mellanox_ofed_sha256: 4503258cbe92b00c734e612c3a7ad1d71e023fdffae2a2c119f7b537505e499c - mellanox_ofed_sha512: 58604ea89aa8351727532c48f0c59b4e533ba8bfcef9533f45d94e15ffdcf3a5c464398706cad14ebf3826b132972bd044fadbf7f047e60bdb0c2a454c96acd7 + mellanox_doca_version: 25.10-1.7.1.0 + mellanox_doca_sha256: 07fc162949a988b7fd8dd624ecb11686bc654d3ca257c12ad9c69d9688c09680 + mellanox_doca_sha512: 7a58cade4733e0483ce5db5f6bf8cf57e2f3ea632e2661fdfbec887275140bf9d917a0ecb29fc0f8a73c9b25ac69d3e3ebc1adb03dfcdf0268f8c8f3fa27bcb3 + + # file (libmagic) for RPM + file_version: 5.46 + file_sha256: c9cc77c7c560c543135edc555af609d5619dbef011997e988ce40a3d75d86088 + file_sha512: a6cb7325c49fd4af159b7555bdd38149e48a5097207acbe5e36deb5b7493ad6ea94d703da6e0edece5bb32959581741f4213707e5cb0528cd46d75a97a5242dc + + # Lua for RPM + lua_version: 5.4.8 + lua_sha256: 4f18ddae154e793e46eeab727c59ef1c0c0c2b744e7b94219710d76f530629ae + lua_sha512: 875ad1f6df3ba63722b5069564c9d3a4057b4c3564c691061bb49cf6cdf5d2e303f05762bd46797b444aaf992c03021f423df142123eebf86751fd77edaf8060 + + # renovate: datasource=github-tags extractVersion=^rpm-(?.*)$ depName=rpm-software-management/rpm + rpm_version: 6.0.1 + rpm_sha256: 44fd2e1425885288ce8e8da8f18e6b85bd380332c2972554a85860af10f86d0f + rpm_sha512: 55a03b6c65c6bd009ce824feb6298d305eb497464d860aa92ccdf15bcea9af0e2dd70e9ac4b26a8494a222656201314dc1c7a245d9cb5416b058f66f8276f4e9 # this tools doesn't have a git repo at all mtools_version: 4.0.47 diff --git a/file/pkg.yaml b/file/pkg.yaml new file mode 100644 index 000000000..d8bfabf37 --- /dev/null +++ b/file/pkg.yaml @@ -0,0 +1,27 @@ +name: file +variant: scratch +shell: /bin/bash +dependencies: + - stage: base + - stage: zlib +steps: + - sources: + - url: http://ftp.astron.com/pub/file/file-{{ .file_version }}.tar.gz + destination: file.tar.gz + sha256: "{{ .file_sha256 }}" + sha512: "{{ .file_sha512 }}" + prepare: + - | + tar -xzf file.tar.gz --strip-components=1 + build: + - | + ./configure \ + --prefix=/usr \ + --enable-static=no + make -j $(nproc) + install: + - | + make install DESTDIR=/rootfs +finalize: + - from: /rootfs + to: / diff --git a/lua/pkg.yaml b/lua/pkg.yaml new file mode 100644 index 000000000..4fca2c4a0 --- /dev/null +++ b/lua/pkg.yaml @@ -0,0 +1,23 @@ +name: lua +variant: scratch +shell: /bin/bash +dependencies: + - stage: base +steps: + - sources: + - url: https://www.lua.org/ftp/lua-{{ .lua_version }}.tar.gz + destination: lua.tar.gz + sha256: "{{ .lua_sha256 }}" + sha512: "{{ .lua_sha512 }}" + prepare: + - | + tar -xzf lua.tar.gz --strip-components=1 + build: + - | + make linux MYCFLAGS="-fPIC" -j $(nproc) + install: + - | + make install INSTALL_TOP=/rootfs/usr +finalize: + - from: /rootfs + to: / diff --git a/mellanox-ofed/pkg.yaml b/mellanox-doca/pkg.yaml similarity index 57% rename from mellanox-ofed/pkg.yaml rename to mellanox-doca/pkg.yaml index 9f6a5e920..0595d1c7f 100644 --- a/mellanox-ofed/pkg.yaml +++ b/mellanox-doca/pkg.yaml @@ -1,39 +1,31 @@ -name: mellanox-ofed-pkg +name: mellanox-doca-pkg variant: scratch shell: /bin/bash dependencies: - stage: base - stage: kernel-build + - stage: rpm + - stage: libpopt + - stage: zlib + - stage: libarchive + - stage: lua + - stage: file steps: - sources: - - url: https://www.mellanox.com/downloads/ofed/MLNX_OFED-{{ .mellanox_ofed_version }}/MLNX_OFED_SRC-debian-{{ .mellanox_ofed_version }}.tgz - destination: mellanox_ofed.tgz - sha256: "{{ .mellanox_ofed_sha256 }}" - sha512: "{{ .mellanox_ofed_sha512 }}" + - url: https://linux.mellanox.com/public/repo/doca/3.2.1/SOURCES/mlnx_ofed/MLNX_OFED_SRC-{{ .mellanox_doca_version }}.tgz + destination: mellanox_doca.tgz + sha256: "{{ .mellanox_doca_sha256 }}" + sha512: "{{ .mellanox_doca_sha512 }}" env: ARCH: {{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }} + network: default prepare: - | - tar -xzf mellanox_ofed.tgz --strip-components=1 - - cd SOURCES - tar xf mlnx-ofed-kernel_5.9.orig.tar.gz + tar -xzf mellanox_doca.tgz --strip-components=1 build: - | - cd SOURCES/mlnx-ofed-kernel-5.9 - - ./configure --with-core-mod \ - --with-user_mad-mod \ - --with-user_access-mod \ - --with-addr_trans-mod \ - --with-mlx5-mod \ - --with-ipoib-mod \ - --with-srp-mod \ - --with-iser-mod \ - --kernel-sources=/src \ - -j $(nproc) - - make kernel -j $(nproc) + ./install.pl --kernel $(cat /src/include/config/kernel.release) --kernel-sources /src/ --distro talos --kernel-only --without-dkms --without-depcheck --build-only \ + --copy-ifnames-udev --without-mlnx-tools --without-knem-modules --without-srp-modules --without-kernel-mft-modules --without-iser-modules --without-isert-modules install: - | cd SOURCES/mlnx-ofed-kernel-5.9 diff --git a/rpm/patches/fix-glibc-glob.patch b/rpm/patches/fix-glibc-glob.patch new file mode 100644 index 000000000..a46cf3962 --- /dev/null +++ b/rpm/patches/fix-glibc-glob.patch @@ -0,0 +1,12 @@ +--- a/rpmio/rpmglob.cc ++++ b/rpmio/rpmglob.cc +@@ -28,6 +28,10 @@ + #include + #include + ++#ifndef GLOB_BRACE ++#define GLOB_BRACE 0x0 ++#endif ++ + #include + #include diff --git a/rpm/pkg.yaml b/rpm/pkg.yaml new file mode 100644 index 000000000..fa50cb6ee --- /dev/null +++ b/rpm/pkg.yaml @@ -0,0 +1,57 @@ +name: rpm +variant: scratch +shell: /bin/bash +dependencies: + - stage: base + - stage: libpopt + - stage: zlib + - stage: libarchive + - stage: lua + - stage: file +steps: + - sources: + - url: https://github.com/rpm-software-management/rpm/releases/download/rpm-{{ .rpm_version }}-release/rpm-{{ .rpm_version }}.tar.bz2 + destination: rpm.tar.bz2 + sha256: "{{ .rpm_sha256 }}" + sha512: "{{ .rpm_sha512 }}" + prepare: + - | + tar -xjf rpm.tar.bz2 --strip-components=1 + + patch -p1 < /pkg/patches/fix-glibc-glob.patch + + ln -s /bin/echo /bin/scdoc + + mkdir -p build + cd build + + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DSYSCONFDIR=/etc \ + -DLOCALSTATEDIR=/var \ + -DENABLE_NLS=OFF \ + -DENABLE_PYTHON=OFF \ + -DENABLE_PLUGINS=ON \ + -DWITH_READLINE=OFF \ + -DENABLE_SQLITE=OFF \ + -DWITH_ACL=OFF \ + -DWITH_AUDIT=OFF \ + -DWITH_LIBCAP=OFF \ + -DWITH_SELINUX=OFF \ + -DWITH_SEQUOIA=OFF \ + -DWITH_OPENSSL=ON \ + -DWITH_DBUS=OFF \ + .. + build: + - | + cd build + make -j $(nproc) + install: + - | + cd build + make install DESTDIR=/rootfs +finalize: + - from: /rootfs + to: /