Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-torch for openSUSE:Factory 
checked in at 2026-06-09 14:29:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-torch (Old)
 and      /work/SRC/openSUSE:Factory/.python-torch.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-torch"

Tue Jun  9 14:29:07 2026 rev:8 rq:1358125 version:2.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-torch/python-torch.changes        
2025-07-10 22:14:24.569357438 +0200
+++ /work/SRC/openSUSE:Factory/.python-torch.new.2375/python-torch.changes      
2026-06-09 14:31:47.261098920 +0200
@@ -1,0 +2,103 @@
+Mon Jun  8 12:19:07 UTC 2026 - Christian Goll <[email protected]>
+
+- Update to v2.12.0 which uses _service and so does the vendoring via
+  git submodules, this leads to the removal of following previosly vendored
+  sources and patches:
+  * FP16-4dfe081.tar.gz
+  * FXdiv-b408327.tar.gz
+  * XNNPACK-51a0103.tar.gz
+  * add-cstdint.patch
+  * cpp-httplib-3b6597b.tar.gz
+  * cpuinfo-1e83a2f.tar.gz
+  * flatbuffers-01834de.tar.gz
+  * fmt-1239137.tar.gz
+  * gemmlowp-3fb5c17.tar.gz
+  * gloo-5354032.tar.gz
+  * gloo-gcc15-fix.patch
+  * kineto-a054a4b.tar.gz
+  * kleidiai-cca02c2.tar.gz
+  * libnop-910b558.tar.gz
+  * onnx-b8baa84.tar.gz
+  * opentelemetry-cpp-a799f4a.tar.gz
+  * pocketfft-9d3ab05.tar.gz
+  * psimd-072586a.tar.gz
+  * pthreadpool-4fe0e1e.tar.gz
+  * pybind11-a2e59f0.tar.gz
+  * pytorch-2.7.1.tar.gz
+  * sleef-56e1f79.tar.gz
+  * tensorpipe-52791a2.tar.gz
+  * fix-setup.patch
+- Added disable-py312-intrinsics.patch which disables test for incomaptible 
python3.12 
+- increased limits for build machines
+- Highlights of v2.12.0:
+  * Batched linalg.eigh on CUDA is up to 100x faster due to updated cuSolver
+    backend selection
+  * Added new torch.accelerator.Graph API to unify graph capture and replay
+    across CUDA, XPU, and out-of-tree backends
+  * Added torch.export.save support for Microscaling (MX) quantization formats
+  * Adagrad optimizer now supports fused=True for a single-kernel optimizer
+  * torch.cond control flow can now be captured and replayed inside CUDA Graphs
+  * ROCm improvements include expandable memory segments, rocSHMEM symmetric
+    memory collectives, and FlexAttention pipelining
+  * Python 3.14 support: Added experimental support for torch.compile()
+- Backwards Incompatible & Breaking Changes in v2.12.0:
+  * C++20 minimum is now enforced in CMake build files
+  * SVE Compile Checks strictly validated in FindARM.cmake
+  * torch.distributed.nn.functional ops now raise RuntimeError under 
torch.compile
+    (users should migrate to functional collectives API)
+  * torchrun port default is now dynamically assigned (OS-allocated free port)
+    instead of static port 29500
+  * Deprecated CUDA 12.8 builds in favor of CUDA 13.0
+  * MAGMA backend deprecated for some operators, dispatching to cuSolver or 
cuBLAS
+- Summarized highlights and breaking changes from intermediate versions 
(v2.8.0 to v2.11.0):
+  * Highlights from v2.11.0:
+    - Differentiable Collectives support for functional collectives in 
distributed
+      training
+    - Expanded operator support for Metal Performance Shaders (MPS) on XPU 
Graph support 
+      for Intel XPU backends
+  * Backwards Incompatible & Breaking Changes from v2.11.0:
+    - DLPack objects updated to align with the latest DLPack release,
+      potentially breaking low-level integrations using torch.utils.dlpack
+  * Highlights from v2.10.0:
+    - Full support for torch.compile() on Python 3.14, with experimental 
support
+      for free-threaded builds (Python 3.14t)
+    - New DebugMode tool for tracking dispatched calls and debugging numerical
+      divergence; horizontal fusion of combo-kernels to reduce launch overhead
+      in torchinductor
+  * Backwards Incompatible & Breaking Changes from v2.10.0:
+    - Sampler data_source argument removed from DataLoader, and legacy grouping
+      datapipes imports removed (use sharding datapipes instead)
+    - fallback=False is now the default in torch.onnx.export (defaults to
+      dynamo=True without fallback)
+    - Nested Jagged Tensor support removed from flex_attention
+    - TorchScript (torch.jit) is officially deprecated and not guaranteed to 
work
+      on Python 3.14
+  * Highlights from v2.9.0:
+    - Symmetric Memory feature enabling high-performance programming of 
multi-GPU
+      kernels
+    - Stable libtorch ABI updates with torch::stable::Tensor APIs and 
device/stream
+      utilities
+    - Arbitrary toggle between error or resume on graph breaks in 
torch.compile for
+      debuggability
+  * Backwards Incompatible & Breaking Changes from v2.9.0:
+    - Minimum supported Python version updated to 3.10 (Python 3.9 support 
dropped)
+    - DLPack upgraded to 1.0, breaking torch.utils.dlpack low-level APIs
+    - Outputs of custom operators registered via torch.library are no longer 
allowed
+      to share storage with input Tensors (can cause undefined behavior under 
compile)
+    - Exception type changes where torch.cat and unsupported dtypes raise 
specific
+      errors (e.g., ValueError, IndexError, NotImplementedError) instead of 
RuntimeError
+  * Highlights from v2.8.0:
+    - Introduced limited stable libtorch ABI subset for third-party extensions
+    - Native support for high-performance quantized LLM inference on Intel CPUs
+    - Inductor CUTLASS backend support for torch.compile and AOTInductor
+  * Backwards Incompatible & Breaking Changes from v2.8.0:
+    - Dropped Maxwell (sm50) and Pascal (sm60, sm61) GPU support in CUDA 12.8+ 
builds
+      (older GPUs must use CUDA 12.6)
+    - Stricter SVE validation in CMake and header cleanup removing implicit
+      torch/types.h from Dispatcher.h
+    - Error triggered if custom autograd.Function mutates a view of a leaf 
requiring
+      gradients
+ 
+
+
+-------------------------------------------------------------------

Old:
----
  FP16-4dfe081.tar.gz
  FXdiv-b408327.tar.gz
  XNNPACK-51a0103.tar.gz
  add-cstdint.patch
  cpp-httplib-3b6597b.tar.gz
  cpuinfo-1e83a2f.tar.gz
  fix-setup.patch
  flatbuffers-01834de.tar.gz
  fmt-1239137.tar.gz
  gemmlowp-3fb5c17.tar.gz
  gloo-5354032.tar.gz
  gloo-gcc15-fix.patch
  kineto-a054a4b.tar.gz
  kleidiai-cca02c2.tar.gz
  libnop-910b558.tar.gz
  onnx-b8baa84.tar.gz
  opentelemetry-cpp-a799f4a.tar.gz
  pocketfft-9d3ab05.tar.gz
  psimd-072586a.tar.gz
  pthreadpool-4fe0e1e.tar.gz
  pybind11-a2e59f0.tar.gz
  pytorch-2.7.1.tar.gz
  sleef-56e1f79.tar.gz
  tensorpipe-52791a2.tar.gz

New:
----
  _service
  disable-py312-intrinsics.patch
  pytorch-v2.12.0.tar.gz

----------(Old B)----------
  Old:  * XNNPACK-51a0103.tar.gz
  * add-cstdint.patch
  * cpp-httplib-3b6597b.tar.gz
  Old:  * tensorpipe-52791a2.tar.gz
  * fix-setup.patch
- Added disable-py312-intrinsics.patch which disables test for incomaptible 
python3.12 
  Old:  * gloo-5354032.tar.gz
  * gloo-gcc15-fix.patch
  * kineto-a054a4b.tar.gz
----------(Old E)----------

----------(New B)----------
  New:  * fix-setup.patch
- Added disable-py312-intrinsics.patch which disables test for incomaptible 
python3.12 
- increased limits for build machines
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-torch.spec ++++++
--- /var/tmp/diff_new_pack.DW94tq/_old  2026-06-09 14:31:58.817585550 +0200
+++ /var/tmp/diff_new_pack.DW94tq/_new  2026-06-09 14:31:58.821585718 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-torch
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -55,87 +55,20 @@
 %define package_name   %{pname}%{?pkg_suffix}
 %endif
 
-%define FP16_version             4dfe081
-%define FXdiv_version            b408327
-%define XNNPACK_version          51a0103
-%define cpphttplib_version       3b6597b
-%define cpuinfo_version          1e83a2f
-%define flatbuffers              01834de
-%define fmt_version              1239137
-%define gemmlowp_version         3fb5c17
-%define gloo_version             5354032
-%define kineto                   a054a4b
-%define onnx_version             b8baa84
-%define opentelemetrycpp_version a799f4a
-%define pocketfft                9d3ab05
-%define psimd_version            072586a
-%define pthreadpool_version      4fe0e1e
-%define pybind11_version         a2e59f0
-%define sleef_version            56e1f79
-%define tensorpipe               52791a2
-# nested vendored
-%define libnop 910b558
-%define kleidiai                 cca02c2
-
 %{?sle15_python_module_pythons}
 Name:           python-torch%{?pkg_suffix}
-Version:        2.7.1
+Version:        2.12.0
 Release:        0
 Summary:        Deep learning framework aka pytorch/Caffe2
 License:        Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND Zlib 
AND BSL-1.0
 Group:          Development/Languages/Python
 URL:            https://pytorch.org
-Source0:        
https://github.com/pytorch/pytorch/archive/v%{version}.tar.gz#/%{srcname}-%{version}.tar.gz
+Source0:        pytorch-v%{version}.tar.gz
 Source1:        releases.html
-# License10: BSD-3-Clause
-Source10:       
https://github.com/facebookincubator/gloo/archive/%{gloo_version}.tar.gz#/gloo-%{gloo_version}.tar.gz
-Source32:       gloo-gcc15-fix.patch
-# License11: MIT
-Source11:       
https://github.com/yhirose/cpp-httplib/archive/%{cpphttplib_version}.tar.gz#/cpp-httplib-%{cpphttplib_version}.tar.gz
-# License12: BSD-2-Clause
-Source12:       
https://github.com/pytorch/cpuinfo/archive/%{cpuinfo_version}.tar.gz#/cpuinfo-%{cpuinfo_version}.tar.gz
-# License13: BSL-1.0
-Source13:       
https://github.com/zdevito/sleef/archive/%{sleef_version}.tar.gz#/sleef-%{sleef_version}.tar.gz
-# License14: BSD-3-Clause
-Source14:       
https://github.com/pybind/pybind11/archive/%{pybind11_version}.tar.gz#/pybind11-%{pybind11_version}.tar.gz
-# License15: MIT
-Source15:       
https://github.com/onnx/onnx/archive/%{onnx_version}.tar.gz#/onnx-%{onnx_version}.tar.gz
-#License16: BSD-2-Clause
-Source16:       
https://github.com/Maratyszcza/pthreadpool/archive/%{pthreadpool_version}.tar.gz#/pthreadpool-%{pthreadpool_version}.tar.gz
-# License17: MIT
-Source17:       
https://github.com/Maratyszcza/FXdiv/archive/%{FXdiv_version}.tar.gz#/FXdiv-%{FXdiv_version}.tar.gz
-# License18: MIT
-Source18:       
https://github.com/Maratyszcza/psimd/archive/%{psimd_version}.tar.gz#/psimd-%{psimd_version}.tar.gz
-# License19: MIT
-Source19:       
https://github.com/Maratyszcza/FP16/archive/%{FP16_version}.tar.gz#/FP16-%{FP16_version}.tar.gz
-# License20: Apache-2.0
-Source20:       
https://github.com/google/gemmlowp/archive/%{gemmlowp_version}.tar.gz#/gemmlowp-%{gemmlowp_version}.tar.gz
-# License22: Apache-2.0
-Source22:       
https://github.com/open-telemetry/opentelemetry-cpp/archive/%{opentelemetrycpp_version}.tar.gz#/opentelemetry-cpp-%{opentelemetrycpp_version}.tar.gz
-# License23: BSD-3-Clause
-Source23:       
https://github.com/google/XNNPACK/archive/%{XNNPACK_version}.tar.gz#/XNNPACK-%{XNNPACK_version}.tar.gz
-# License 25: MIT
-Source25:       
https://github.com/fmtlib/fmt/archive/%{fmt_version}.tar.gz#/fmt-%{fmt_version}.tar.gz
-# License 26: BSD-3-Clause
-Source26:       
https://github.com/mreineck/pocketfft/archive/%{pocketfft}.tar.gz#/pocketfft-%{pocketfft}.tar.gz
-# License 27: BSD-3-Clause
-Source27:       
https://github.com/pytorch/kineto/archive/%{kineto}.tar.gz#/kineto-%{kineto}.tar.gz
-# License 28: Apache-2.0
-Source28:       
https://github.com/google/flatbuffers/archive/%{flatbuffers}.tar.gz#/flatbuffers-%{flatbuffers}.tar.gz
-# License 29: BSD-3-Clause
-Source29:       
https://github.com/pytorch/tensorpipe/archive/%{tensorpipe}.tar.gz#/tensorpipe-%{tensorpipe}.tar.gz
-# License 30: Apache-2.0
-Source30:       
https://github.com/google/libnop/archive/%{libnop}.tar.gz#/libnop-%{libnop}.tar.gz
-# yes this is patch to vendored file and upstream has archived this one, so 
this will stay
-# adding it as a source avoid issues with autosetup
-Source31:       add-cstdint.patch
-# License 33: Apache-2.0 and BSD-3-Clause
-Source33:       
https://github.com/ARM-software/kleidiai/archive/%{kleidiai}.tar.gz#/kleidiai-%{kleidiai}.tar.gz
-
 
 Patch1:         skip-third-party-check.patch
-Patch2:         fix-setup.patch
 Patch3:         pytorch-patch-onednn.patch
+Patch4:         disable-py312-intrinsics.patch
 
 # A python call to cmake fails with a return code of 1 on this arch, disable 
it for now.
 # and 32-bit arm is not supported
@@ -150,6 +83,7 @@
 BuildRequires:  %{python_module hypothesis}
 BuildRequires:  %{python_module numpy-devel}
 BuildRequires:  %{python_module opcodes}
+BuildRequires:  %{python_module packaging}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module protobuf}
 BuildRequires:  %{python_module psutil}
@@ -157,8 +91,6 @@
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module typing_extensions}
 BuildRequires:  %{python_module typing}
-# Python 3.6 still need dataclasses
-BuildRequires:  %{python_module dataclasses if %python-base < 3.7}
 BuildRequires:  cmake >= 3.5
 BuildRequires:  eigen3-devel
 BuildRequires:  fdupes
@@ -210,6 +142,7 @@
 BuildRequires:  vulkan-devel
 Conflicts:      %{python_module torch}
 %endif
+Requires:       libtorch%{?pkg_suffix} = %{version}
 Requires:       python-numpy
 Requires:       python-protobuf
 Requires:       python-six
@@ -282,56 +215,35 @@
 Library which is used by %{name}
 
 %prep
-%define make_depend_src() test -e $(basename %1| sed 's/-.*//') && rmdir 
%{?2}%{!?2:$(basename %1| sed 's/-.*//')}; tar xzf %1; mv $(basename %{1} | sed 
's/\.tar\.gz//' )* %{?2}%{!?2:$(basename %1| sed 's/-.*//')}
-%define make_depend_src_uppercase() rmdir -p $(basename %1| sed 's/-.*//'| tr 
'[:upper:]' '[:lower:]'); tar xzf %1; mv $(basename %1 | cut -f 1 -d '.' ) 
$(basename %1| sed 's/-.*//'| tr '[:upper:]' '[:lower:]')
-%autosetup -p1 -n %{srcname}-%{version}
-cp %{S:1} releases.html
-%if %{with vulkan}
-sed -i '/-Werror=return-type/d'  CMakeLists.txt
-%endif
-cd third_party
-rmdir python-peachpy/
-rmdir eigen/
-%make_depend_src %{SOURCE10}
-patch -d ./gloo/ -p1 < %{SOURCE32}
-%make_depend_src %{SOURCE11}
-rmdir cpp-httplib && mv cpp cpp-httplib
-%make_depend_src %{SOURCE12}
-%make_depend_src %{SOURCE13}
-%make_depend_src %{SOURCE14}
-%make_depend_src %{SOURCE15}
-%make_depend_src %{SOURCE16}
-%make_depend_src %{SOURCE17}
-%make_depend_src %{SOURCE18}
-%make_depend_src %{SOURCE19}
-%make_depend_src %{SOURCE20} gemmlowp/gemmlowp
-%make_depend_src %{SOURCE22}
-rmdir opentelemetry-cpp && mv opentelemetry opentelemetry-cpp
-%make_depend_src %{SOURCE23}
-%make_depend_src %{SOURCE25}
-%make_depend_src %{SOURCE26}
-%make_depend_src %{SOURCE27}
-%make_depend_src %{SOURCE28}
-%make_depend_src %{SOURCE29}
-%make_depend_src %{SOURCE33}
-# getting the vendoring of the vendored source working, this is
-# insanity at the next level. My only exuse is that libnop is header only
-rmdir tensorpipe/third_party/libnop
-%make_depend_src %{SOURCE30} tensorpipe/third_party/libnop
-# and a patch is needed
-patch -d ./tensorpipe/ -p1 < %{SOURCE31}
-cd -
-
-# Fix installation path
-sed -i -e 's@DESTINATION ${PYTHON_LIB_REL_PATH}@DESTINATION 
${CMAKE_INSTALL_PREFIX}/${PYTHON_LIB_REL_PATH}@' caffe2/CMakeLists.txt
-# Disable nccl download
-sed -i -e '/[\s]*checkout_nccl()/d' tools/build_pytorch_libs.py
+%autosetup -p1 -n %{srcname}-v%{version}
 
 %build
 cat > buildvars <<EOF
-export USE_KLEIDIAI=ON
-export USE_SYSTEM_LIBS=OFF
-export USE_NNPACK=OFF
+export CMAKE_C_FLAGS="%{optflags}"
+export CMAKE_CXX_FLAGS="%{optflags}"
+export CMAKE_BUILD_TYPE="RelWithDebInfo"
+export CMAKE_INSTALL_PREFIX="%{_prefix}"
+export CMAKE_VERBOSE_MAKEFILE=ON
+# Build system configuration
+export BLAS=OpenBLAS
+export MAX_JOBS=%{?jobs}
+%if 0%{?suse_version} >= 1600
+export CC=gcc-%gcc_version
+export CXX=g++-%gcc_version
+%else
+export CC=gcc-12
+export CXX=g++-12
+%endif
+
+# Core PyTorch options
+export USE_OPENMP=ON
+export USE_DISTRIBUTED=ON
+export BUILD_CUSTOM_PROTOBUF=OFF
+export BUILD_TEST=OFF
+export USE_SYSTEM_BENCHMARK=ON
+export USE_SYSTEM_EIGEN_INSTALL=ON
+
+# Hardware acceleration
 %if %{with cuda}
 export USE_SYSTEM_NCCL=ON
 export NCCL_INCLUDE_DIR="/usr/include/"
@@ -345,83 +257,90 @@
 export USE_CUDA=OFF
 export USE_CUDNN=OFF
 %endif
-%if 0%{?suse_version} >= 1600
-export CC=gcc-%gcc_version
-export CXX=g++-%gcc_version
-%else
-export CC=gcc-12
-export CXX=g++-12
-%endif
-export USE_KINETO=OFF
-export USE_FBGEMM=OFF
-export USE_SYSTEM_BENCHMARK=ON
-export USE_SYSTEM_EIGEN_INSTALL=ON
+
 %if 0%{?sle_version} == 150600
 export USE_MKLDNN=OFF
 export USE_OPENCL=OFF
 %else
 export USE_MKLDNN=ON
 %endif
-export USE_DISTRIBUTED=ON
-export TP_BUILD_LIBUV=OFF
-export USE_NCCL=OFF
-export USE_OPENMP=ON
-export USE_LAPACK=ON
+
+%if %{with vulkan}
+export USE_VULKAN=ON
+%endif
+
+# MPI configuration
 %if %{with mpi}
 export USE_MPI=ON
 export MPIEXEC_EXECUTABLE="%{pkg_bindir}/mpiexec"
+export USE_GLOO=OFF
 %else
 export USE_MPI=OFF
 export USE_GLOO=ON
 %endif
-export BLAS=OpenBLAS
-export BUILD_CUSTOM_PROTOBUF=OFF
-export BUILD_TEST=OFF
-export MAX_JOBS=%{?jobs}
+
+# Disable optional features
+export USE_KINETO=OFF
+export USE_FBGEMM=OFF
+export USE_NNPACK=OFF
+export USE_NCCL=OFF
+
+# Compiler flags - start with RPM's standard cmake flags, then add 
PyTorch-specific needs
+# Disable LTO to avoid GCC internal compiler errors on complex template code
+export CFLAGS="\${CMAKE_C_FLAGS} -fno-lto"
+export CXXFLAGS="\${CMAKE_CXX_FLAGS} -fno-lto"
 %if %{with vulkan}
-export USE_VULKAN=ON
-export CXXFLAGS="-I /usr/ -Wno-error=return-type"
+export CXXFLAGS="\${CXXFLAGS} -I /usr/ -Wno-error=return-type"
 %endif
 %ifarch aarch64
-export CFLAGS="$CFLAGS -Wno-incompatible-pointer-types"
-export CXXFLAGS="$CXXFLAGS -Wno-incompatible-pointer-types"
+export CFLAGS="\${CFLAGS} -Wno-incompatible-pointer-types"
 %endif
+export LDFLAGS="\${LDFLAGS} -Wl,--allow-shlib-undefined"
 EOF
 
+# Build both C++ libraries and Python bindings in a single pass
 source ./buildvars
-
-%python_build
+export BUILD_PYTHON=ON
+%pyproject_wheel
 
 %install
-
 source ./buildvars
-
-%python_install -q
+export BUILD_PYTHON=ON
+%pyproject_install
 
 %python_expand %fdupes %{buildroot}%{$python_sitearch}
 
-install -m 644 -D %{buildroot}%{python_sitearch}/torch/lib/* 
%{buildroot}/%{_libdir}
-#rm -r %{buildroot}%{python_sitearch}/torch/lib
-#cd %{buildroot}/%{_libdir}
-#rm libtorch.so
-#ln -s libtorch.so.1 libtorch.so
-#cd -
-#for file in  $(find %{buildroot}%{python_sitearch} -type f -name \*.py -perm 
644 -size +1b); do
-#%{__grep} '/usr/bin/env ' $file && sed -i 's@/usr/bin/env 
python@/usr/bin/python@' $file && chmod 755 $file
-#done
-#
-#%check
-#export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}
-#%%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python 
test/run_test.py
-%python_clone -a %{buildroot}%{_bindir}/torchfrtrace
+# Move libtorch libraries to %{_libdir} for the separate libtorch package
+# Only move core libtorch libraries, not all .so files
+%python_expand mkdir -p %{buildroot}%{_libdir}
+%python_expand cp -P %{buildroot}%{$python_sitearch}/torch/lib/libtorch.so* 
%{buildroot}%{_libdir}/ 2>/dev/null || true
+%python_expand cp -P 
%{buildroot}%{$python_sitearch}/torch/lib/libtorch_cpu.so* 
%{buildroot}%{_libdir}/ 2>/dev/null || true
+%python_expand cp -P %{buildroot}%{$python_sitearch}/torch/lib/libc10.so* 
%{buildroot}%{_libdir}/ 2>/dev/null || true
+# Remove the originals from sitearch
+%python_expand rm -f %{buildroot}%{$python_sitearch}/torch/lib/libtorch.so*
+%python_expand rm -f %{buildroot}%{$python_sitearch}/torch/lib/libtorch_cpu.so*
+%python_expand rm -f %{buildroot}%{$python_sitearch}/torch/lib/libc10.so*
+
 %python_clone -a %{buildroot}%{_bindir}/torchrun
 
+# Fix shebang lines to use /usr/bin/python3 instead of /usr/bin/env python3
+find %{buildroot} -type f -name "*.py" -exec sed -i 's|#!/usr/bin/env 
python3|#!/usr/bin/python3|g' {} \;
+find %{buildroot} -type f -name "*.py" -exec sed -i 
's|#!/usr/bin/env/python3|#!/usr/bin/python3|g' {} \;
+
+# Move header files from main package to devel package locations
+%python_expand mkdir -p 
%{buildroot}%{$python_sitearch}/torch-devel/csrc/inductor/aoti_runtime
+%python_expand mkdir -p %{buildroot}%{$python_sitearch}/torch-devel/lib/libshm
+%python_expand mkdir -p 
%{buildroot}%{$python_sitearch}/torch-devel/lib/libshm_windows
+%python_expand mv 
%{buildroot}%{$python_sitearch}/torch/csrc/inductor/aoti_runtime/model.h 
%{buildroot}%{$python_sitearch}/torch-devel/csrc/inductor/aoti_runtime/
+%python_expand mv %{buildroot}%{$python_sitearch}/torch/lib/libshm/*.h 
%{buildroot}%{$python_sitearch}/torch-devel/lib/libshm/
+%python_expand rm -rf %{buildroot}%{$python_sitearch}/torch/lib/libshm_windows
+
 %post -n libtorch%{?pkg_suffix} -p /sbin/ldconfig
 %postun -n libtorch%{?pkg_suffix} -p /sbin/ldconfig
 
 %files %{python_files}
 %defattr(-,root,root)
-%doc README.md NOTICE releases.html
+%doc README.md NOTICE
 %license LICENSE
 %{python_sitearch}/torch*
 %{python_sitearch}/torchgen/
@@ -432,7 +351,11 @@
 %exclude %{python_sitearch}/torch/utils/benchmark/utils/
 %exclude %{python_sitearch}/torchgen/packaged/ATen/templates
 %exclude %{python_sitearch}/torchgen/packaged/autograd/templates
-%python_alternative %{_bindir}/torchfrtrace
+%exclude %{python_sitearch}/torch-devel
+# libtorch libraries are in the separate libtorch package
+%exclude %{python_sitearch}/torch/lib/libtorch.so*
+%exclude %{python_sitearch}/torch/lib/libtorch_cpu.so*
+%exclude %{python_sitearch}/torch/lib/libc10.so*
 %python_alternative %{_bindir}/torchrun
 
 %files %{python_files devel}
@@ -442,7 +365,10 @@
 %{python_sitearch}/torch/utils/benchmark/utils/
 %{python_sitearch}/torchgen/packaged/ATen/templates
 %{python_sitearch}/torchgen/packaged/autograd/templates
+%{python_sitearch}/torch-devel/
 
 %files -n libtorch%{?pkg_suffix}
-%{_libdir}/*.so*
+%{_libdir}/libtorch.so*
+%{_libdir}/libtorch_cpu.so*
+%{_libdir}/libc10.so*
 

++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.DW94tq/_old  2026-06-09 14:31:58.889588582 +0200
+++ /var/tmp/diff_new_pack.DW94tq/_new  2026-06-09 14:31:58.905589255 +0200
@@ -2,13 +2,13 @@
 <constraints>
   <hardware>
     <memory>
-      <size unit="G">8</size>
+      <size unit="G">12</size>
     </memory>
     <disk>
-      <size unit="G">8</size>
+      <size unit="G">10</size>
     </disk>
     <memoryperjob>
-      <size unit="M">2000</size>
+      <size unit="M">4000</size>
     </memoryperjob>
   </hardware>
 </constraints>

++++++ _service ++++++
<services>
  <service name="tar_scm" mode="manual">
    <param name="scm">git</param>
    <param name="url">https://github.com/pytorch/pytorch</param>
    <param name="revision">v2.12.0</param>
    <param name="versionformat">@PARENT_TAG@</param>
    <param name="submodules">enable</param>
  </service>
  <service name="recompress" mode="manual">
    <param name="file">*.tar</param>
    <param name="compression">gz</param>
  </service>
</services>

++++++ disable-py312-intrinsics.patch ++++++
--- a/torch/testing/_internal/py312_intrinsics.py
+++ b/torch/testing/_internal/py312_intrinsics.py
@@ -1,3 +1,9 @@
+# This file requires Python 3.12+ syntax (PEP 695) which is not compatible
+# with Python 3.11. Disabled for builds with Python < 3.12.
+import sys
+if sys.version_info < (3, 12):
+    raise ImportError("py312_intrinsics requires Python 3.12+")
+
 import torch


@@ -8,7 +14,10 @@ import torch
 class Foo:
     @classmethod
     def _default_update(cls):
-        def f[T](a: "This is a new annotation"):  # noqa: F722
+        # Note: Original syntax requires Python 3.12+
+        # Original: def f[T](a: "This is a new annotation"):  # noqa: F722
+        # Disabled for Python < 3.12 compatibility
+        def f(a: "This is a new annotation"):  # noqa: F722
             """This is a test"""

         f.attr = "This is also a test"

Reply via email to