diff options
| -rw-r--r-- | maca-sdk-aarch64.spec | 822 | ||||
| -rw-r--r-- | sources | 0 |
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. |
