%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 - 3.7.0.38-1 - Repack MACA SDK aarch64 RPM payloads into individual subpackages.