summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-07-17 06:33:59 +0000
committerCoprDistGit <infra@openeuler.org>2026-07-17 06:33:59 +0000
commitfe84a87e9822e55466bda9def92eebdc37b15a15 (patch)
treedebbf4821e7a2a65d406f75e462915243c819e82
parent40b425b607871091ec4cad8f70e3989cf3de9d5c (diff)
automatic import of maca-sdk-aarch64openeuler24.03_LTS_SP3
-rw-r--r--maca-sdk-aarch64.spec822
-rw-r--r--sources0
2 files changed, 822 insertions, 0 deletions
diff --git a/maca-sdk-aarch64.spec b/maca-sdk-aarch64.spec
new file mode 100644
index 0000000..80d3633
--- /dev/null
+++ b/maca-sdk-aarch64.spec
@@ -0,0 +1,822 @@
+%global sdk_version 3.7.0.38
+%global sdk_short_version 3.7.0
+%global sdk_root /opt/maca-%{sdk_short_version}
+%global source_dir maca-sdk-%{sdk_version}-rpm-aarch64
+%global source_url https://repo.oepkgs.net/openEuler/rpm/openEuler-24.03-LTS-SP3/contrib/drivers/aarch64/Packages/%{source_dir}.tar.xz
+%global payload_dir maca-sdk-%{sdk_version}
+%global rpm_dir rpm
+%global debug_package %{nil}
+%global _buildshell /bin/bash
+# Preserve upstream prebuilt binaries; stripping truncates AppImage payloads.
+%global __strip /bin/true
+%global __brp_strip %{nil}
+%global __brp_strip_comment_note %{nil}
+%global __brp_strip_static_archive %{nil}
+# Upstream vendor binaries carry fixed MACA SDK RPATH/RUNPATH entries.
+# Skip RPM RPATH QA checks for this repackaged binary payload.
+%global __arch_install_post %{nil}
+
+Name: maca-sdk-aarch64
+Version: %{sdk_version}
+Release: 1%{?dist}
+Summary: Repacked MACA SDK %{sdk_version} aarch64 bundle
+License: MetaX License
+URL: https://www.metax-tech.com/
+ExclusiveArch: aarch64
+BuildRequires: bash
+BuildRequires: cpio
+BuildRequires: rpm
+BuildRequires: tar
+BuildRequires: wget
+BuildRequires: xz
+AutoReqProv: no
+
+Requires: commonlib = %{version}-%{release}
+Requires: cu-bridge = %{version}-%{release}
+Requires: macainfo = %{version}-%{release}
+Requires: maca_sdk_latest = %{version}-%{release}
+Requires: maca_sdk_pkg_config = %{version}-%{release}
+Requires: mcanalyzer = %{version}-%{release}
+Requires: mcblas = %{version}-%{release}
+Requires: mcblaslt = %{version}-%{release}
+Requires: mccl = %{version}-%{release}
+Requires: mccltests = %{version}-%{release}
+Requires: mccompiler = %{version}-%{release}
+Requires: mcdnn = %{version}-%{release}
+Requires: mcfft = %{version}-%{release}
+Requires: mcfile = %{version}-%{release}
+Requires: mcflashattn = %{version}-%{release}
+Requires: mcflashinfer = %{version}-%{release}
+Requires: mcgpufort = %{version}-%{release}
+Requires: mchotspot = %{version}-%{release}
+Requires: mcimage = %{version}-%{release}
+Requires: mcjpeg = %{version}-%{release}
+Requires: mckernellib = %{version}-%{release}
+Requires: mcmathlib = %{version}-%{release}
+Requires: mcmpp = %{version}-%{release}
+Requires: mcpti = %{version}-%{release}
+Requires: mcrand = %{version}-%{release}
+Requires: mcruntime = %{version}-%{release}
+Requires: mcsanitizer = %{version}-%{release}
+Requires: mcsanitizer-public = %{version}-%{release}
+Requires: mcsolver = %{version}-%{release}
+Requires: mcsolverit = %{version}-%{release}
+Requires: mcsparse = %{version}-%{release}
+Requires: mcthrust = %{version}-%{release}
+Requires: mctlass = %{version}-%{release}
+Requires: mctlassEx = %{version}-%{release}
+Requires: mctoolext = %{version}-%{release}
+Requires: mctracer = %{version}-%{release}
+Requires: mxccl_plugin = %{version}-%{release}
+Requires: mxcommlib_tools = %{version}-%{release}
+Requires: mxcompute = %{version}-%{release}
+Requires: mxdiagease = %{version}-%{release}
+Requires: mxexporter = %{version}-%{release}
+Requires: mxffmpeg = %{version}-%{release}
+Requires: mxffmpeg-dev = %{version}-%{release}
+Requires: mxfortran = %{version}-%{release}
+Requires: mxgdrcopy = %{version}-%{release}
+Requires: mxgpu_llvm = %{version}-%{release}
+Requires: mxkw = %{version}-%{release}
+Requires: mxmaca-install = %{version}-%{release}
+Requires: mxompi = %{version}-%{release}
+Requires: mxreport = %{version}-%{release}
+Requires: mxshmem = %{version}-%{release}
+Requires: mxsml-devel = %{version}-%{release}
+Requires: mxucx = %{version}-%{release}
+Requires: mxvpu = %{version}-%{release}
+Requires: mxvs = %{version}-%{release}
+Requires: sample = %{version}-%{release}
+
+%description
+This is a bundle package for the repacked MACA SDK %{sdk_version} aarch64
+RPM payloads. The build downloads the upstream tarball, extracts every RPM
+payload under rpm/ into BUILDROOT, then repacks each payload as a separate
+subpackage.
+
+%package -n commonlib
+Summary: Repacked MACA SDK component commonlib
+AutoReqProv: no
+%description -n commonlib
+Repacked MACA SDK component commonlib from the upstream RPM payload.
+
+%package -n cu-bridge
+Summary: Repacked MACA SDK component cu-bridge
+AutoReqProv: no
+%description -n cu-bridge
+Repacked MACA SDK component cu-bridge from the upstream RPM payload.
+
+%package -n macainfo
+Summary: Repacked MACA SDK component macainfo
+AutoReqProv: no
+%description -n macainfo
+Repacked MACA SDK component macainfo from the upstream RPM payload.
+
+%package -n maca_sdk_latest
+Summary: Repacked MACA SDK component maca_sdk_latest
+AutoReqProv: no
+%description -n maca_sdk_latest
+Repacked MACA SDK component maca_sdk_latest from the upstream RPM payload.
+
+%package -n maca_sdk_pkg_config
+Summary: Repacked MACA SDK component maca_sdk_pkg_config
+AutoReqProv: no
+%description -n maca_sdk_pkg_config
+Repacked MACA SDK component maca_sdk_pkg_config from the upstream RPM payload.
+
+%package -n mcanalyzer
+Summary: Repacked MACA SDK component mcanalyzer
+AutoReqProv: no
+%description -n mcanalyzer
+Repacked MACA SDK component mcanalyzer from the upstream RPM payload.
+
+%package -n mcblas
+Summary: Repacked MACA SDK component mcblas
+AutoReqProv: no
+%description -n mcblas
+Repacked MACA SDK component mcblas from the upstream RPM payload.
+
+%package -n mcblaslt
+Summary: Repacked MACA SDK component mcblaslt
+AutoReqProv: no
+%description -n mcblaslt
+Repacked MACA SDK component mcblaslt from the upstream RPM payload.
+
+%package -n mccl
+Summary: Repacked MACA SDK component mccl
+AutoReqProv: no
+%description -n mccl
+Repacked MACA SDK component mccl from the upstream RPM payload.
+
+%package -n mccltests
+Summary: Repacked MACA SDK component mccltests
+AutoReqProv: no
+%description -n mccltests
+Repacked MACA SDK component mccltests from the upstream RPM payload.
+
+%package -n mccompiler
+Summary: Repacked MACA SDK component mccompiler
+AutoReqProv: no
+%description -n mccompiler
+Repacked MACA SDK component mccompiler from the upstream RPM payload.
+
+%package -n mcdnn
+Summary: Repacked MACA SDK component mcdnn
+AutoReqProv: no
+%description -n mcdnn
+Repacked MACA SDK component mcdnn from the upstream RPM payload.
+
+%package -n mcfft
+Summary: Repacked MACA SDK component mcfft
+AutoReqProv: no
+%description -n mcfft
+Repacked MACA SDK component mcfft from the upstream RPM payload.
+
+%package -n mcfile
+Summary: Repacked MACA SDK component mcfile
+AutoReqProv: no
+%description -n mcfile
+Repacked MACA SDK component mcfile from the upstream RPM payload.
+
+%package -n mcflashattn
+Summary: Repacked MACA SDK component mcflashattn
+AutoReqProv: no
+%description -n mcflashattn
+Repacked MACA SDK component mcflashattn from the upstream RPM payload.
+
+%package -n mcflashinfer
+Summary: Repacked MACA SDK component mcflashinfer
+AutoReqProv: no
+%description -n mcflashinfer
+Repacked MACA SDK component mcflashinfer from the upstream RPM payload.
+
+%package -n mcgpufort
+Summary: Repacked MACA SDK component mcgpufort
+AutoReqProv: no
+%description -n mcgpufort
+Repacked MACA SDK component mcgpufort from the upstream RPM payload.
+
+%package -n mchotspot
+Summary: Repacked MACA SDK component mchotspot
+AutoReqProv: no
+%description -n mchotspot
+Repacked MACA SDK component mchotspot from the upstream RPM payload.
+
+%package -n mcimage
+Summary: Repacked MACA SDK component mcimage
+AutoReqProv: no
+%description -n mcimage
+Repacked MACA SDK component mcimage from the upstream RPM payload.
+
+%package -n mcjpeg
+Summary: Repacked MACA SDK component mcjpeg
+AutoReqProv: no
+%description -n mcjpeg
+Repacked MACA SDK component mcjpeg from the upstream RPM payload.
+
+%package -n mckernellib
+Summary: Repacked MACA SDK component mckernellib
+AutoReqProv: no
+%description -n mckernellib
+Repacked MACA SDK component mckernellib from the upstream RPM payload.
+
+%package -n mcmathlib
+Summary: Repacked MACA SDK component mcmathlib
+AutoReqProv: no
+%description -n mcmathlib
+Repacked MACA SDK component mcmathlib from the upstream RPM payload.
+
+%package -n mcmpp
+Summary: Repacked MACA SDK component mcmpp
+AutoReqProv: no
+%description -n mcmpp
+Repacked MACA SDK component mcmpp from the upstream RPM payload.
+
+%package -n mcpti
+Summary: Repacked MACA SDK component mcpti
+AutoReqProv: no
+%description -n mcpti
+Repacked MACA SDK component mcpti from the upstream RPM payload.
+
+%package -n mcrand
+Summary: Repacked MACA SDK component mcrand
+AutoReqProv: no
+%description -n mcrand
+Repacked MACA SDK component mcrand from the upstream RPM payload.
+
+%package -n mcruntime
+Summary: Repacked MACA SDK component mcruntime
+AutoReqProv: no
+%description -n mcruntime
+Repacked MACA SDK component mcruntime from the upstream RPM payload.
+
+%package -n mcsanitizer
+Summary: Repacked MACA SDK component mcsanitizer
+AutoReqProv: no
+%description -n mcsanitizer
+Repacked MACA SDK component mcsanitizer from the upstream RPM payload.
+
+%package -n mcsanitizer-public
+Summary: Repacked MACA SDK component mcsanitizer-public
+AutoReqProv: no
+%description -n mcsanitizer-public
+Repacked MACA SDK component mcsanitizer-public from the upstream RPM payload.
+
+%package -n mcsolver
+Summary: Repacked MACA SDK component mcsolver
+AutoReqProv: no
+%description -n mcsolver
+Repacked MACA SDK component mcsolver from the upstream RPM payload.
+
+%package -n mcsolverit
+Summary: Repacked MACA SDK component mcsolverit
+AutoReqProv: no
+%description -n mcsolverit
+Repacked MACA SDK component mcsolverit from the upstream RPM payload.
+
+%package -n mcsparse
+Summary: Repacked MACA SDK component mcsparse
+AutoReqProv: no
+%description -n mcsparse
+Repacked MACA SDK component mcsparse from the upstream RPM payload.
+
+%package -n mcthrust
+Summary: Repacked MACA SDK component mcthrust
+AutoReqProv: no
+%description -n mcthrust
+Repacked MACA SDK component mcthrust from the upstream RPM payload.
+
+%package -n mctlass
+Summary: Repacked MACA SDK component mctlass
+AutoReqProv: no
+%description -n mctlass
+Repacked MACA SDK component mctlass from the upstream RPM payload.
+
+%package -n mctlassEx
+Summary: Repacked MACA SDK component mctlassEx
+AutoReqProv: no
+%description -n mctlassEx
+Repacked MACA SDK component mctlassEx from the upstream RPM payload.
+
+%package -n mctoolext
+Summary: Repacked MACA SDK component mctoolext
+AutoReqProv: no
+%description -n mctoolext
+Repacked MACA SDK component mctoolext from the upstream RPM payload.
+
+%package -n mctracer
+Summary: Repacked MACA SDK component mctracer
+AutoReqProv: no
+%description -n mctracer
+Repacked MACA SDK component mctracer from the upstream RPM payload.
+
+%package -n mxccl_plugin
+Summary: Repacked MACA SDK component mxccl_plugin
+AutoReqProv: no
+%description -n mxccl_plugin
+Repacked MACA SDK component mxccl_plugin from the upstream RPM payload.
+
+%package -n mxcommlib_tools
+Summary: Repacked MACA SDK component mxcommlib_tools
+AutoReqProv: no
+%description -n mxcommlib_tools
+Repacked MACA SDK component mxcommlib_tools from the upstream RPM payload.
+
+%package -n mxcompute
+Summary: Repacked MACA SDK component mxcompute
+AutoReqProv: no
+%description -n mxcompute
+Repacked MACA SDK component mxcompute from the upstream RPM payload.
+
+%package -n mxdiagease
+Summary: Repacked MACA SDK component mxdiagease
+AutoReqProv: no
+%description -n mxdiagease
+Repacked MACA SDK component mxdiagease from the upstream RPM payload.
+
+%package -n mxexporter
+Summary: Repacked MACA SDK component mxexporter
+AutoReqProv: no
+%description -n mxexporter
+Repacked MACA SDK component mxexporter from the upstream RPM payload.
+
+%package -n mxffmpeg
+Summary: Repacked MACA SDK component mxffmpeg
+AutoReqProv: no
+%description -n mxffmpeg
+Repacked MACA SDK component mxffmpeg from the upstream RPM payload.
+
+%package -n mxffmpeg-dev
+Summary: Repacked MACA SDK component mxffmpeg-dev
+AutoReqProv: no
+%description -n mxffmpeg-dev
+Repacked MACA SDK component mxffmpeg-dev from the upstream RPM payload.
+
+%package -n mxfortran
+Summary: Repacked MACA SDK component mxfortran
+AutoReqProv: no
+%description -n mxfortran
+Repacked MACA SDK component mxfortran from the upstream RPM payload.
+
+%package -n mxgdrcopy
+Summary: Repacked MACA SDK component mxgdrcopy
+AutoReqProv: no
+%description -n mxgdrcopy
+Repacked MACA SDK component mxgdrcopy from the upstream RPM payload.
+
+%package -n mxgpu_llvm
+Summary: Repacked MACA SDK component mxgpu_llvm
+AutoReqProv: no
+%description -n mxgpu_llvm
+Repacked MACA SDK component mxgpu_llvm from the upstream RPM payload.
+
+%package -n mxkw
+Summary: Repacked MACA SDK component mxkw
+Requires: numactl-libs
+AutoReqProv: no
+%description -n mxkw
+Repacked MACA SDK component mxkw from the upstream RPM payload.
+
+%package -n mxmaca-install
+Summary: Repacked MACA SDK component mxmaca-install
+AutoReqProv: no
+%description -n mxmaca-install
+Repacked MACA SDK component mxmaca-install from the upstream RPM payload.
+
+%package -n mxompi
+Summary: Repacked MACA SDK component mxompi
+Requires: openssl-libs
+AutoReqProv: no
+%description -n mxompi
+Repacked MACA SDK component mxompi from the upstream RPM payload.
+
+%package -n mxreport
+Summary: Repacked MACA SDK component mxreport
+AutoReqProv: no
+%description -n mxreport
+Repacked MACA SDK component mxreport from the upstream RPM payload.
+
+%package -n mxshmem
+Summary: Repacked MACA SDK component mxshmem
+AutoReqProv: no
+%description -n mxshmem
+Repacked MACA SDK component mxshmem from the upstream RPM payload.
+
+%package -n mxsml-devel
+Summary: Repacked MACA SDK component mxsml-devel
+AutoReqProv: no
+%description -n mxsml-devel
+Repacked MACA SDK component mxsml-devel from the upstream RPM payload.
+
+%package -n mxucx
+Summary: Repacked MACA SDK component mxucx
+AutoReqProv: no
+%description -n mxucx
+Repacked MACA SDK component mxucx from the upstream RPM payload.
+
+%package -n mxvpu
+Summary: Repacked MACA SDK component mxvpu
+AutoReqProv: no
+%description -n mxvpu
+Repacked MACA SDK component mxvpu from the upstream RPM payload.
+
+%package -n mxvs
+Summary: Repacked MACA SDK component mxvs
+AutoReqProv: no
+%description -n mxvs
+Repacked MACA SDK component mxvs from the upstream RPM payload.
+
+%package -n sample
+Summary: Repacked MACA SDK component sample
+AutoReqProv: no
+%description -n sample
+Repacked MACA SDK component sample from the upstream RPM payload.
+
+%prep
+rm -rf %{payload_dir} %{source_dir}.tar.xz
+
+%build
+set -euo pipefail
+cd %{_builddir}
+
+wget --tries=0 \
+ --retry-connrefused \
+ --waitretry=30 \
+ --timeout=30 \
+ --read-timeout=30 \
+ --continue \
+ -O "%{source_dir}.tar.xz" \
+ "%{source_url}"
+
+rm -rf %{payload_dir}
+tar -xf "%{source_dir}.tar.xz"
+cd %{payload_dir}
+
+cat > .rpm-package-map <<'EOF'
+commonlib_3.7.0.38.aarch64.rpm commonlib
+cu-bridge_3.7.0.38.aarch64.rpm cu-bridge
+macainfo_3.7.0.38.aarch64.rpm macainfo
+maca_sdk_latest_3.7.0.38.aarch64.rpm maca_sdk_latest
+maca_sdk_pkg_config_3.7.0.38.aarch64.rpm maca_sdk_pkg_config
+mcanalyzer_3.7.0.38.aarch64.rpm mcanalyzer
+mcblas_3.7.0.38.aarch64.rpm mcblas
+mcblasLt_3.7.0.38.aarch64.rpm mcblaslt
+mccl_3.7.0.38.aarch64.rpm mccl
+mccltests_3.7.0.38.aarch64.rpm mccltests
+mccompiler_3.7.0.38.aarch64.rpm mccompiler
+mcdnn_3.7.0.38.aarch64.rpm mcdnn
+mcfft_3.7.0.38.aarch64.rpm mcfft
+mcfile_3.7.0.38.aarch64.rpm mcfile
+mcflashattn_3.7.0.38.aarch64.rpm mcflashattn
+mcflashinfer_3.7.0.38.aarch64.rpm mcflashinfer
+mcgpufort_3.7.0.38.aarch64.rpm mcgpufort
+mchotspot_3.7.0.38.aarch64.rpm mchotspot
+mcimage_3.7.0.38.aarch64.rpm mcimage
+mcjpeg_3.7.0.38.aarch64.rpm mcjpeg
+mckernellib_3.7.0.38.aarch64.rpm mckernellib
+mcmathlib_3.7.0.38.aarch64.rpm mcmathlib
+mcmpp_3.7.0.38.aarch64.rpm mcmpp
+mcpti_3.7.0.38.aarch64.rpm mcpti
+mcrand_3.7.0.38.aarch64.rpm mcrand
+mcruntime_3.7.0.38.aarch64.rpm mcruntime
+mcsanitizer_3.7.0.38.aarch64.rpm mcsanitizer
+mcsanitizer-public_3.7.0.38.aarch64.rpm mcsanitizer-public
+mcsolver_3.7.0.38.aarch64.rpm mcsolver
+mcsolverit_3.7.0.38.aarch64.rpm mcsolverit
+mcsparse_3.7.0.38.aarch64.rpm mcsparse
+mcthrust_3.7.0.38.aarch64.rpm mcthrust
+mctlass_3.7.0.38.aarch64.rpm mctlass
+mctlassEx_3.7.0.38.aarch64.rpm mctlassEx
+mctoolext_3.7.0.38.aarch64.rpm mctoolext
+mctracer_3.7.0.38.aarch64.rpm mctracer
+mxccl_plugin_3.7.0.38.aarch64.rpm mxccl_plugin
+mxcommlib_tools_3.7.0.38.aarch64.rpm mxcommlib_tools
+mxcompute_3.7.0.38.aarch64.rpm mxcompute
+mxdiagease_3.7.0.38.aarch64.rpm mxdiagease
+mxexporter_3.7.0.38.aarch64.rpm mxexporter
+mxffmpeg_3.7.0.38.aarch64.rpm mxffmpeg
+mxffmpeg-dev-3.7.0.38.aarch64.rpm mxffmpeg-dev
+mxfortran_3.7.0.38.aarch64.rpm mxfortran
+mxgdrcopy_3.7.0.38.aarch64.rpm mxgdrcopy
+mxgpu_llvm_3.7.0.38.aarch64.rpm mxgpu_llvm
+mxkw_3.7.0.38.aarch64.rpm mxkw
+mxmaca-install_3.7.0.38.aarch64.rpm mxmaca-install
+mxompi_3.7.0.38.aarch64.rpm mxompi
+mxreport_3.7.0.38.aarch64.rpm mxreport
+mxshmem_3.7.0.38.aarch64.rpm mxshmem
+mxsml-devel_3.7.0.38.aarch64.rpm mxsml-devel
+mxucx_3.7.0.38.aarch64.rpm mxucx
+mxvpu_3.7.0.38.aarch64.rpm mxvpu
+mxvs_3.7.0.38.aarch64.rpm mxvs
+sample_3.7.0.38.aarch64.rpm sample
+EOF
+
+%install
+set -euo pipefail
+cd %{_builddir}/%{payload_dir}
+rm -rf %{buildroot}
+mkdir -p %{buildroot}
+mkdir -p .filelists
+
+mkdir -p %{buildroot}%{_docdir}/%{name}
+cat > %{buildroot}%{_docdir}/%{name}/README <<'EOF'
+This package is a repackaged MACA SDK aarch64 bundle. Each subpackage is built
+from the payload of the corresponding upstream RPM under the source rpm/
+directory.
+EOF
+
+while read -r rpm pkg; do
+ rpm_path="$(pwd)/%{rpm_dir}/${rpm}"
+ filelist=".filelists/${pkg}.files"
+ payload_list=".filelists/${pkg}.payload"
+
+ if [ ! -f "${rpm_path}" ]; then
+ echo "missing RPM: ${rpm_path}" >&2
+ exit 1
+ fi
+
+ echo "==> installing rpm payload for ${pkg}: ${rpm}"
+ rpm2cpio "${rpm_path}" \
+ | cpio -t --quiet \
+ | awk '
+ $0 == "" || $0 == "." || $0 == "./" || $0 == "/" { next }
+ {
+ gsub(/^\.\//, "", $0)
+ gsub(/^\//, "", $0)
+ sub(/\/$/, "", $0)
+ if ($0 != "") print "/" $0
+ }
+ ' \
+ | sort -u > "${payload_list}"
+
+ if [ ! -s "${payload_list}" ]; then
+ echo "empty payload list for ${pkg}" >&2
+ rm -f -- "${payload_list}"
+ exit 1
+ fi
+
+ rpm -qpl --dump "${rpm_path}" \
+ | awk '
+ FNR == NR {
+ payload[$0] = 1
+ next
+ }
+
+ NF < 11 { next }
+ {
+ mode = $(NF - 6)
+ path = $1
+ for (i = 2; i <= NF - 10; i++) {
+ path = path " " $i
+ }
+
+ gsub(/^\.\//, "", path)
+ gsub(/^\//, "", path)
+ sub(/\/$/, "", path)
+ if (path == "") next
+ path = "/" path
+ if (!(path in payload)) next
+ if (mode ~ /^04/) {
+ print "%%dir " path
+ } else {
+ print path
+ }
+ }
+ ' "${payload_list}" - \
+ | sort -u > "${filelist}"
+
+ if [ ! -s "${filelist}" ]; then
+ echo "empty file list for ${pkg}" >&2
+ rm -f -- "${payload_list}"
+ exit 1
+ fi
+
+ rm -f -- "${payload_list}"
+ rpm2cpio "${rpm_path}" | (cd %{buildroot} && cpio -idmu --quiet)
+done < .rpm-package-map
+
+%post -n maca_sdk_latest -p /bin/sh
+if [ -L /opt/maca ]; then
+ rm -f /opt/maca
+fi
+mkdir -p %{sdk_root}
+ln -s -T %{sdk_root} /opt/maca
+
+%preun -n maca_sdk_latest -p /bin/sh
+if [ -L /opt/maca ]; then
+ if [ -f /opt/maca/Version.txt ]; then
+ maca_version=$(head -n 1 /opt/maca/Version.txt)
+ if [[ ${maca_version} =~ 3.7.0.38 ]]; then
+ rm -f /opt/maca
+ fi
+ fi
+fi
+
+%post -n mccltests -p /bin/sh
+echo "mccltests package installed successfully"
+
+%post -n mxdiagease -p /bin/sh
+#!/bin/bash
+set -e
+
+echo "Running post-installation script..."
+echo "Setting up symbolic links..."
+ln -sfn %{sdk_root}/bin/mx-diagease /usr/bin/mx-diagease
+
+%preun -n mxdiagease -p /bin/sh
+#!/bin/bash
+
+echo "Running pre-uninstallation script..."
+EXPECTED_TARGET="%{sdk_root}"
+ACTUAL_TARGET=$(readlink -f /usr/bin/mx-diagease)
+
+if [[ "$ACTUAL_TARGET" == "$EXPECTED_TARGET"* ]]; then
+ echo "Remove symbolic links..."
+ rm -f /usr/bin/mx-diagease
+fi
+
+%post -n mxffmpeg -p /bin/sh
+echo %{sdk_root}//ffmpeg//lib > /etc/ld.so.conf.d/aarch64-libffmpeg.conf
+echo %{sdk_root}//ffmpeg//thirdparty/lib > /etc/ld.so.conf.d/aarch64-libffmpeg-thirdparty.conf
+echo %{sdk_root}//ffmpeg//thirdparty/lib64 >> /etc/ld.so.conf.d/aarch64-libffmpeg-thirdparty.conf
+echo %{sdk_root}///lib >> /etc/ld.so.conf.d/aarch64-libffmpeg-thirdparty.conf
+ldconfig
+rm -f /usr/bin/ffmpeg
+ln -s %{sdk_root}//ffmpeg//bin/ffmpeg /usr/bin/ffmpeg
+
+%preun -n mxffmpeg -p /bin/sh
+rm -f /etc/ld.so.conf.d/aarch64-libffmpeg.conf
+rm -f /etc/ld.so.conf.d/aarch64-libffmpeg-thirdparty.conf
+ldconfig
+rm -f /usr/bin/ffmpeg
+
+%postun -n mxffmpeg-dev -p /bin/sh
+if [ $1 -eq 0 ]; then
+ if [ -d %{sdk_root}//ffmpeg//lib ] && [ -z "$(ls -A %{sdk_root}//ffmpeg//lib)" ]; then
+ rm -rf %{sdk_root}//ffmpeg//lib
+ fi
+ if [ -d %{sdk_root}//ffmpeg/ ] && [ -z "$(ls -A %{sdk_root}//ffmpeg/)" ]; then
+ rm -rf %{sdk_root}//ffmpeg/
+ fi
+fi
+
+%post -n mxgdrcopy -p /bin/sh
+cd %{sdk_root}/
+tar -xf mxgdrcopy.tar
+rm mxgdrcopy.tar
+cd -
+
+%preun -n mxgdrcopy -p /bin/sh
+if [ -d %{sdk_root}/include/mxgdrcopy ]; then
+ rm -rf %{sdk_root}/include/mxgdrcopy
+ rm -rf %{sdk_root}/bin/mxgdrcopy
+ rm -rf %{sdk_root}/lib/libgdr*
+ echo "remove" > %{sdk_root}/mxgdrcopy.tar
+fi
+
+%post -n mxmaca-install -p /bin/sh
+if [ -L /opt/maca ]; then
+ rm -f /opt/maca
+fi
+mkdir -p %{sdk_root}
+ln -s -T %{sdk_root} /opt/maca
+
+if [ -L %{sdk_root}/lib64 ]; then
+ rm -f %{sdk_root}/lib64
+fi
+mkdir -p %{sdk_root}/lib
+cd %{sdk_root}
+ln -s -T lib lib64
+cd -
+
+%preun -n mxmaca-install -p /bin/sh
+if [ -L /opt/maca ]; then
+ if [ -f /opt/maca/Version.txt ]; then
+ maca_version=`head -n 1 /opt/maca/Version.txt`
+ if [[ ${maca_version} =~ 3.7.0.38 ]]; then
+ rm -f /opt/maca
+ fi
+ fi
+fi
+
+if [ -L %{sdk_root}/lib64 ]; then
+ rm -f %{sdk_root}/lib64
+fi
+
+%post -n mxompi -p /bin/sh
+cd %{sdk_root}/ompi
+tar -xf ompi.tar
+rm ompi.tar
+cd -
+if [ -L /opt/maca ]; then
+ rm -f /opt/maca
+fi
+ln -s -T %{sdk_root} /opt/maca
+
+%preun -n mxompi -p /bin/sh
+if [ -d %{sdk_root}/ompi ]; then
+ rm -rf %{sdk_root}/ompi/*
+ echo "remove" > %{sdk_root}/ompi/ompi.tar
+fi
+
+%postun -n mxompi -p /bin/sh
+if [ -d %{sdk_root}/ompi ]; then
+ rm -r %{sdk_root}/ompi
+fi
+
+%post -n mxreport -p /bin/sh
+ln -sfn %{sdk_root}/bin/mx-report /usr/bin/mx-report
+ln -sfn %{sdk_root}/share/mxreport/mx-report.1.gz /usr/share/man/man1/mx-report.1.gz
+
+%postun -n mxreport -p /bin/sh
+if [ $1 -eq 0 ]; then
+ if [[ "$(readlink -f /usr/bin/mx-report)" = "%{sdk_root}"* ]]; then
+ rm -f /usr/bin/mx-report
+ rm -f /usr/share/man/man1/mx-report.1.gz
+ fi
+fi
+
+%post -n mxucx -p /bin/sh
+cd %{sdk_root}/ucx
+tar -xf ucx.tar
+rm ucx.tar
+cd -
+if [ -L /opt/maca ]; then
+ rm -f /opt/maca
+fi
+ln -s -T %{sdk_root} /opt/maca
+
+%preun -n mxucx -p /bin/sh
+if [ -d %{sdk_root}/ucx ]; then
+ rm -rf %{sdk_root}/ucx/*
+ echo "remove" > %{sdk_root}/ucx/ucx.tar
+fi
+
+%postun -n mxucx -p /bin/sh
+if [ -d %{sdk_root}/ucx ]; then
+ rm -r %{sdk_root}/ucx
+fi
+
+%files
+%{_docdir}/%{name}/README
+
+%files -n commonlib -f %{_builddir}/%{payload_dir}/.filelists/commonlib.files
+%files -n cu-bridge -f %{_builddir}/%{payload_dir}/.filelists/cu-bridge.files
+%files -n macainfo -f %{_builddir}/%{payload_dir}/.filelists/macainfo.files
+%files -n maca_sdk_latest -f %{_builddir}/%{payload_dir}/.filelists/maca_sdk_latest.files
+%files -n maca_sdk_pkg_config -f %{_builddir}/%{payload_dir}/.filelists/maca_sdk_pkg_config.files
+%files -n mcanalyzer -f %{_builddir}/%{payload_dir}/.filelists/mcanalyzer.files
+%files -n mcblas -f %{_builddir}/%{payload_dir}/.filelists/mcblas.files
+%files -n mcblaslt -f %{_builddir}/%{payload_dir}/.filelists/mcblaslt.files
+%files -n mccl -f %{_builddir}/%{payload_dir}/.filelists/mccl.files
+%files -n mccltests -f %{_builddir}/%{payload_dir}/.filelists/mccltests.files
+%files -n mccompiler -f %{_builddir}/%{payload_dir}/.filelists/mccompiler.files
+%files -n mcdnn -f %{_builddir}/%{payload_dir}/.filelists/mcdnn.files
+%files -n mcfft -f %{_builddir}/%{payload_dir}/.filelists/mcfft.files
+%files -n mcfile -f %{_builddir}/%{payload_dir}/.filelists/mcfile.files
+%files -n mcflashattn -f %{_builddir}/%{payload_dir}/.filelists/mcflashattn.files
+%files -n mcflashinfer -f %{_builddir}/%{payload_dir}/.filelists/mcflashinfer.files
+%files -n mcgpufort -f %{_builddir}/%{payload_dir}/.filelists/mcgpufort.files
+%files -n mchotspot -f %{_builddir}/%{payload_dir}/.filelists/mchotspot.files
+%files -n mcimage -f %{_builddir}/%{payload_dir}/.filelists/mcimage.files
+%files -n mcjpeg -f %{_builddir}/%{payload_dir}/.filelists/mcjpeg.files
+%files -n mckernellib -f %{_builddir}/%{payload_dir}/.filelists/mckernellib.files
+%files -n mcmathlib -f %{_builddir}/%{payload_dir}/.filelists/mcmathlib.files
+%files -n mcmpp -f %{_builddir}/%{payload_dir}/.filelists/mcmpp.files
+%files -n mcpti -f %{_builddir}/%{payload_dir}/.filelists/mcpti.files
+%files -n mcrand -f %{_builddir}/%{payload_dir}/.filelists/mcrand.files
+%files -n mcruntime -f %{_builddir}/%{payload_dir}/.filelists/mcruntime.files
+%files -n mcsanitizer -f %{_builddir}/%{payload_dir}/.filelists/mcsanitizer.files
+%files -n mcsanitizer-public -f %{_builddir}/%{payload_dir}/.filelists/mcsanitizer-public.files
+%files -n mcsolver -f %{_builddir}/%{payload_dir}/.filelists/mcsolver.files
+%files -n mcsolverit -f %{_builddir}/%{payload_dir}/.filelists/mcsolverit.files
+%files -n mcsparse -f %{_builddir}/%{payload_dir}/.filelists/mcsparse.files
+%files -n mcthrust -f %{_builddir}/%{payload_dir}/.filelists/mcthrust.files
+%files -n mctlass -f %{_builddir}/%{payload_dir}/.filelists/mctlass.files
+%files -n mctlassEx -f %{_builddir}/%{payload_dir}/.filelists/mctlassEx.files
+%files -n mctoolext -f %{_builddir}/%{payload_dir}/.filelists/mctoolext.files
+%files -n mctracer -f %{_builddir}/%{payload_dir}/.filelists/mctracer.files
+%files -n mxccl_plugin -f %{_builddir}/%{payload_dir}/.filelists/mxccl_plugin.files
+%files -n mxcommlib_tools -f %{_builddir}/%{payload_dir}/.filelists/mxcommlib_tools.files
+%files -n mxcompute -f %{_builddir}/%{payload_dir}/.filelists/mxcompute.files
+%files -n mxdiagease -f %{_builddir}/%{payload_dir}/.filelists/mxdiagease.files
+%files -n mxexporter -f %{_builddir}/%{payload_dir}/.filelists/mxexporter.files
+%files -n mxffmpeg -f %{_builddir}/%{payload_dir}/.filelists/mxffmpeg.files
+%files -n mxffmpeg-dev -f %{_builddir}/%{payload_dir}/.filelists/mxffmpeg-dev.files
+%files -n mxfortran -f %{_builddir}/%{payload_dir}/.filelists/mxfortran.files
+%files -n mxgdrcopy -f %{_builddir}/%{payload_dir}/.filelists/mxgdrcopy.files
+%files -n mxgpu_llvm -f %{_builddir}/%{payload_dir}/.filelists/mxgpu_llvm.files
+%files -n mxkw -f %{_builddir}/%{payload_dir}/.filelists/mxkw.files
+%files -n mxmaca-install -f %{_builddir}/%{payload_dir}/.filelists/mxmaca-install.files
+%files -n mxompi -f %{_builddir}/%{payload_dir}/.filelists/mxompi.files
+%files -n mxreport -f %{_builddir}/%{payload_dir}/.filelists/mxreport.files
+%files -n mxshmem -f %{_builddir}/%{payload_dir}/.filelists/mxshmem.files
+%files -n mxsml-devel -f %{_builddir}/%{payload_dir}/.filelists/mxsml-devel.files
+%files -n mxucx -f %{_builddir}/%{payload_dir}/.filelists/mxucx.files
+%files -n mxvpu -f %{_builddir}/%{payload_dir}/.filelists/mxvpu.files
+%files -n mxvs -f %{_builddir}/%{payload_dir}/.filelists/mxvs.files
+%files -n sample -f %{_builddir}/%{payload_dir}/.filelists/sample.files
+
+%changelog
+* Wed Jul 08 2026 MetaX Packager <packager@example.invalid> - 3.7.0.38-1
+- Repack MACA SDK aarch64 RPM payloads into individual subpackages.
diff --git a/sources b/sources
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sources