1 %{!?dotnet_buildtype: %define dotnet_buildtype Release}
2 %{!?skiptests: %define skiptests 1}
4 %define dotnet_buildtype_clr %{dotnet_buildtype}
5 %define dotnet_buildtype_fx %{dotnet_buildtype}
7 %if "%{?dotnet_buildtype}" == "Checked"
8 %define dotnet_buildtype_fx Debug
11 %define _binaries_in_noarch_packages_terminate_build 0
12 %define _unpackaged_files_terminate_build 0
14 %define skipmscorlib 0
16 %define skipmanagedtools 0
19 %define skipmanagedtools 1
22 %ifarch %{arm} aarch64 %{ix86} x86_64
27 %define pgo_instrument 0
28 %define pgo_optimize 0
30 %define dotnet_version 6.0.0
35 Summary: Microsoft .NET Runtime with Microsoft .NET foundation class libraries (CoreCLR and CoreFX)
36 Group: Development/Languages
38 URL: http://github.com/dotnet/runtime
39 Source0: %{name}-%{version}.tar.gz
40 Source1: %{name}.manifest
43 BuildRequires: python-xml
45 BuildRequires: pkgconfig(libunwind)
46 BuildRequires: pkgconfig(uuid)
47 # System.Globalization.Native.so
48 BuildRequires: libicu-devel
49 BuildRequires: tizen-release
50 # System.Net.Security.Native.so
51 # System.Net.Http.Native.so
52 BuildRequires: krb5-devel
53 BuildRequires: libcurl-devel
54 # No matter what tizen-release package you use in any profile
62 # Accelerate python, clang
64 BuildRequires: python-accel-armv7l-cross-arm
65 BuildRequires: clang-accel-armv7l-cross-arm
69 BuildRequires: python-accel-armv7hl-cross-arm
70 BuildRequires: clang-accel-armv7hl-cross-arm
74 BuildRequires: python-accel-aarch64-cross-aarch64
75 BuildRequires: clang-accel-aarch64-cross-aarch64
79 BuildRequires: llvm >= 3.8
80 BuildRequires: llvm-devel >= 3.8
81 BuildRequires: clang >= 3.8
82 BuildRequires: clang-devel >= 3.8
83 BuildRequires: lldb >= 3.8
84 BuildRequires: lldb-devel >= 3.8
85 BuildRequires: gettext-tools
86 BuildRequires: libopenssl1.1-devel
88 BuildRequires: libstdc++-devel
89 BuildRequires: pkgconfig(lttng-ust)
91 BuildRequires: libatomic
92 BuildRequires: gcc-devel-static
94 %if 0%{skipmscorlib} && 0%{skipmanaged} && 0%{skipmanagedtools}
96 %ifarch %{arm} aarch64
97 BuildRequires: patchelf
100 BuildRequires: patchelf
101 BuildRequires: glibc-64bit
102 BuildRequires: libgcc-64bit
103 BuildRequires: libstdc++-64bit
104 BuildRequires: libunwind-64bit
105 BuildRequires: libuuid-64bit
106 BuildRequires: zlib-64bit
107 BuildRequires: libopenssl11-64bit
111 %if 0%{pgo_instrument} || 0%{pgo_optimize}
112 BuildRequires: binutils-gold
113 BuildRequires: compiler-rt
117 The CoreCLR repo contains the complete runtime implementation for .NET Core. It includes RyuJIT, the .NET GC, native interop and many other components. It is cross-platform, with multiple OS and CPU ports in progress. The .NET Core foundational libraries, called CoreFX. It includes classes for collections, file systems, console, XML, async and many others.
119 %package -n coreclr-test
120 Summary: Dotnet Core Unit Test
123 %description -n coreclr-test
126 %package -n coreclr-devel
127 Summary: Dotnet Core Development package
130 %description -n coreclr-devel
131 Headers and static libraries
134 Summary: Core Library for MS .NET
137 %description -n mscorlib
138 The System.Private.CoreLib.dll for .NET Core Runtime (coreclr)
140 %package -n corefx-native
141 Summary: Core foundational native libraries
145 %description -n corefx-native
146 The native part (.so) of dotnet core foundational libraries
148 %package -n corefx-managed
149 Summary: Core foundational managed libraries
152 Requires: corefx-native
156 %description -n corefx-managed
157 The managed part (.dll) of dotnet core foundational class libraries
159 %package -n corefx-managed-devel
160 Summary: Core foundational managed libraries for debugging (.pdb)
161 Requires: corefx-managed
165 %description -n corefx-managed-devel
166 The managed debugging files (.pdb) of dotnet core fundational class libraries
168 %package -n corefx-managed-ref
169 Summary: Core foundational managed class libraries for developer
173 %description -n corefx-managed-ref
174 The managed part (.dll) of dotnet core foundational class libraries for developer
177 %package -n corefx-test
178 Summary: Dotnet Libraries Unit Test
179 Requires: corefx-native
180 Requires: corefx-managed
184 %description -n corefx-test
188 %package -n corefx-test-native
189 Summary: Dotnet Libraries Unit Test, native part
190 Requires: corefx-native
191 Requires: corefx-managed
193 %description -n corefx-test-native
194 Unit Test objs, native part
197 %setup -q -n %{name}-%{version}
200 %if 0%{skipmscorlib} && 0%{skipmanaged} && 0%{skipmanagedtools}
202 %ifarch %{arm} aarch64
203 # Detect interpreter name from cross-gcc
204 LD_INTERPRETER=$(patchelf --print-interpreter /emul/usr/bin/gcc)
205 LD_RPATH=$(patchelf --print-rpath /emul/usr/bin/gcc)
206 for file in $( find ./.dotnet ./.packages -name "dotnet" -type f -o -name "ilasm" -type f)
208 patchelf --set-interpreter ${LD_INTERPRETER} ${file}
209 patchelf --set-rpath ${LD_RPATH}:%{_builddir}/%{name}-%{version}/libicu-57.1/ ${file}
211 for file in $( find ./.dotnet ./.packages ./libicu-57.1 -iname "*.so" -or -iname "*.so.*" )
213 patchelf --set-rpath ${LD_RPATH}:%{_builddir}/%{name}-%{version}/libicu-57.1/ ${file}
218 for file in $( find ./.dotnet ./.packages ./libicu-57.1 -iname "*.so" -or -iname "*.so.*" )
220 patchelf --set-rpath %{_builddir}/%{name}-%{version}/libicu-57.1/ ${file}
226 # disable asan build when global forced asan build
228 export ASAN_OPTIONS=use_sigaltstack=false:`cat /ASAN_OPTIONS`
229 /usr/bin/gcc-unforce-options
230 export LD_LIBRARY_PATH=`pwd`/libicu-57.1
231 export CPPFLAGS+=" -DHAS_ADDRESS_SANITIZER "
234 BASE_FLAGS=" --target=%{_host} "
239 # Even though build architectur is x86_64, it will be running on arm board.
240 # So we need to pass the arch argument as arm.
241 %define _barch %{?cross:%{cross}}%{!?cross:x64}
250 export CLANG_NO_LIBDIR_SUFFIX=1
251 BASE_FLAGS="$(echo $BASE_FLAGS | sed -e 's/--target=i686/--target=i586/')"
252 BASE_FLAGS="$BASE_FLAGS -mstackrealign"
257 export CLANG_NO_LIBDIR_SUFFIX=1
262 export CLANG_NO_LIBDIR_SUFFIX=1
278 %define _reldir_clr artifacts/bin/coreclr/Linux.%{_barch}.%{dotnet_buildtype_clr}
279 %define _reldir_fx_native artifacts/bin/native/net6.0-Linux-%{dotnet_buildtype_fx}-%{_barch}
280 %define _reldir_fx_managed artifacts/bin/microsoft.netcore.app.runtime.linux-%{_barch}/%{dotnet_buildtype_fx}/runtimes/linux-%{_barch}/lib/net6.0/
281 %define _reldir_fx_withoob artifacts/bin/runtime/net6.0-Linux-%{dotnet_buildtype_fx}-%{_barch}
283 export CFLAGS="${BASE_FLAGS}"
284 export CXXFLAGS="${BASE_FLAGS}"
285 export ASMFLAGS="${BASE_FLAGS}"
288 %if %{dotnet_buildtype} == "Release"
289 export CXXFLAGS+="-fstack-protector-strong -D_FORTIFY_SOURCE=2"
291 export CXXFLAGS+="-fstack-protector-strong"
295 %if 0%{pgo_instrument}
296 %define _pgo_flags --pgoinstrument
299 # pgo optimization is enabled by default
300 %define _pgo_flags ""
302 %define _pgo_flags --nopgooptimize
306 %define _source_version_flags /p:EnableSourceLink=false /p:DisableSourceLink=true /p:EnableSourceControlManagerQueries=false /p:EmbedUntrackedSources=false
307 %define _build_args --keepnativesymbols true --arch %{_barch} --runtimeConfiguration %{dotnet_buildtype_clr} --librariesConfiguration %{dotnet_buildtype_fx} %{_source_version_flags}
308 %define _build_args_release --keepnativesymbols true --arch %{_barch} --runtimeConfiguration Release --librariesConfiguration Release %{_source_version_flags}
310 export NUGET_PACKAGES=%{_builddir}/%{name}-%{version}/.packages/
311 export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/libicu-57.1/
313 # Build native CoreCLR and native CoreFX
314 ./build.sh --portablebuild false %{_build_args} --subset clr.runtime+clr.jit+clr.iltools+libs.native --cmakeargs -DFEATURE_IBCLOGGER=true --cmakeargs -DFEATURE_ENABLE_NO_ADDRESS_SPACE_RANDOMIZATION=true --cmakeargs -DCLR_ADDITIONAL_LINKER_FLAGS=-Wl,-z,relro %{_pgo_flags}
318 # Build mscorlib (System.Private.CoreLib.dll)
319 ./build.sh --portablebuild false %{_build_args} --subset clr.corelib
324 # Build managed CoreFX
325 ./build.sh %{_build_args} --subset libs.ref+libs.src+libs.packages
327 %if 0%{skipmanagedtools}
329 # Build managed tools
330 ./build.sh %{_build_args} --subset clr.tools
334 # Build CoreFX managed tests, which are reused for all arches
335 ./build.sh %{_build_args} --subset libs.pretest+libs.tests --testscope all /p:DisableImplicitFSharpCoreReference=true
341 # Build CoreCLR tests
343 %if %{dotnet_buildtype} != "Release"
344 # Build Release CoreCLR & CoreFX (these are required for some tests)
346 # Build native CoreCLR and native CoreFX
347 ./build.sh --portablebuild false %{_build_args_release} --subset clr.runtime+clr.jit+clr.iltools+libs.native --cmakeargs -DFEATURE_IBCLOGGER=true --cmakeargs -DFEATURE_ENABLE_NO_ADDRESS_SPACE_RANDOMIZATION=true --cmakeargs -DCLR_ADDITIONAL_LINKER_FLAGS=-Wl,-z,relro %{_pgo_flags}
349 # Build mscorlib (System.Private.CoreLib.dll)
350 ./build.sh --portablebuild false %{_build_args_release} --subset clr.corelib
352 # Build managed CoreFX
353 ./build.sh %{_build_args_release} --subset libs.ref+libs.src+libs.packages /p:UseSharedCompilation=false
356 # Build native part of tests as non-portable (i.e. for Tizen)
357 ./src/tests/build.sh -%{dotnet_buildtype_clr} portablebuild=false -%{_barch} -priority1 skipgenerateversion skipmanaged skipgeneratelayout skiprestorepackages /p:__SkipPackageRestore=true
359 # Build managed part of tests
360 ./src/tests/build.sh -%{dotnet_buildtype_clr} -%{_barch} -priority1 skipgenerateversion copynativeonly skiprestorepackages /p:__SkipPackageRestore=true
361 ./src/tests/build.sh -%{dotnet_buildtype_clr} -%{_barch} -priority1 skipgenerateversion skipnative skipgeneratelayout skiptestwrappers /p:DisableImplicitFSharpCoreReference=true
362 ./src/tests/build.sh -%{dotnet_buildtype_clr} -%{_barch} -priority1 skipgenerateversion generatelayoutonly skiprestorepackages /p:__SkipPackageRestore=true
366 # .NET Core Runtime dir
367 %define dotnetdir dotnet
368 %define netshareddir %{dotnetdir}/shared
369 %define netcoreappdir %{netshareddir}/Microsoft.NETCore.App/%{dotnet_version}
370 mkdir -p %{buildroot}%{_datadir}/%{netcoreappdir}
373 %define clrtestdir /opt/usr/coreclr-tc
374 %define fxtestdir /opt/usr/corefx-tc
375 mkdir -p %{buildroot}/%{clrtestdir}
376 mkdir -p %{buildroot}/%{fxtestdir}
377 mkdir -p %{buildroot}/%{fxtestdir}/coreroot
379 # .NET Tizen Runtime dir
380 %define dotnettizendir dotnet.tizen
381 %define dotnetfwdir %{dotnettizendir}/framework
382 mkdir -p %{buildroot}%{_datadir}/%{dotnettizendir}
383 mkdir -p %{buildroot}%{_datadir}/%{dotnetfwdir}
384 ln -sf %{_datadir}/%{netcoreappdir} %{buildroot}%{_datadir}/%{dotnettizendir}/netcoreapp
386 # symlink to .NET version for compatibility
387 ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.0.0
388 ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.1.0
389 ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.1.1
390 ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.1.4
391 ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/3.0.0
392 ln -sf %{dotnet_version} %{buildroot}%{_datadir}/%{netshareddir}/Microsoft.NETCore.App/3.1.3
395 cp %{_reldir_clr}/corerun %{buildroot}%{_datadir}/%{netcoreappdir}
396 cp %{_reldir_clr}/libclrjit.so %{buildroot}%{_datadir}/%{netcoreappdir}
397 cp %{_reldir_clr}/libclrgc.so %{buildroot}%{_datadir}/%{netcoreappdir}
398 cp %{_reldir_clr}/libcoreclr.so %{buildroot}%{_datadir}/%{netcoreappdir}
399 cp %{_reldir_clr}/libdbgshim.so %{buildroot}%{_datadir}/%{netcoreappdir}
400 cp %{_reldir_clr}/libmscordaccore.so %{buildroot}%{_datadir}/%{netcoreappdir}
401 cp %{_reldir_clr}/libmscordbi.so %{buildroot}%{_datadir}/%{netcoreappdir}
402 cp %{_reldir_clr}/libcoreclrtraceptprovider.so %{buildroot}%{_datadir}/%{netcoreappdir}
403 cp %{_reldir_clr}/libjitinterface_%{_tarch}.so %{buildroot}%{_datadir}/%{netcoreappdir}
404 cp %{_reldir_clr}/ilasm %{buildroot}%{_datadir}/%{netcoreappdir}
405 cp %{_reldir_clr}/ildasm %{buildroot}%{_datadir}/%{netcoreappdir}
408 cp %{_reldir_fx_native}/libSystem.Globalization.Native.so %{buildroot}%{_datadir}/%{netcoreappdir}
409 cp %{_reldir_fx_native}/libSystem.IO.Compression.Native.so %{buildroot}%{_datadir}/%{netcoreappdir}
410 cp %{_reldir_fx_native}/libSystem.Native.so %{buildroot}%{_datadir}/%{netcoreappdir}
411 cp %{_reldir_fx_native}/libSystem.Net.Security.Native.so %{buildroot}%{_datadir}/%{netcoreappdir}
412 cp %{_reldir_fx_native}/libSystem.Security.Cryptography.Native.OpenSsl.so %{buildroot}%{_datadir}/%{netcoreappdir}
415 cp %{_reldir_fx_native}/libSystem.IO.Ports.Native.so %{buildroot}/%{fxtestdir}/coreroot
417 # .NET Core Headers and static libraries
418 mkdir -p %{buildroot}%{_datadir}/%{netcoreappdir}/src/pal/src/
419 mkdir -p %{buildroot}%{_datadir}/%{netcoreappdir}/src/debug/
420 mkdir -p %{buildroot}%{_datadir}/%{netcoreappdir}/src/dlls/
421 mkdir -p %{buildroot}%{_datadir}/%{netcoreappdir}/src/coreclr/hosts/
422 cp -rf src/coreclr/inc %{buildroot}%{_datadir}/%{netcoreappdir}/src/
423 cp -rf src/coreclr/pal/inc %{buildroot}%{_datadir}/%{netcoreappdir}/src/pal/
424 cp -rf src/coreclr/pal/prebuilt %{buildroot}%{_datadir}/%{netcoreappdir}/src/pal/
425 cp -rf src/coreclr/debug/inc %{buildroot}%{_datadir}/%{netcoreappdir}/src/debug/
426 cp -rf src/coreclr/debug/shim %{buildroot}%{_datadir}/%{netcoreappdir}/src/debug/
427 cp -rf src/coreclr/dlls/dbgshim %{buildroot}%{_datadir}/%{netcoreappdir}/src/dlls/
428 cp -rf src/coreclr/hosts/inc %{buildroot}%{_datadir}/%{netcoreappdir}/src/coreclr/hosts/
429 cp -rf src/coreclr/pal/src/include %{buildroot}%{_datadir}/%{netcoreappdir}/src/pal/src
430 cp -rf %{_reldir_clr}/lib %{buildroot}%{_datadir}/%{netcoreappdir}
432 # System.Private.CoreLib.dll
435 cp %{_reldir_clr}/IL/System.Private.CoreLib.dll %{buildroot}%{_datadir}/%{netcoreappdir}
436 cp %{_reldir_clr}/IL/System.Private.CoreLib.pdb %{buildroot}%{_datadir}/%{netcoreappdir}
439 # Managed tools and managed CoreFX
443 %if 0%{skipmanagedtools}
445 cp %{_reldir_clr}/createdump %{buildroot}%{_datadir}/%{netcoreappdir}
448 mkdir -p %{buildroot}%{_datadir}/%{netcoreappdir}/crossgen2
449 cp %{_reldir_clr}/crossgen2/crossgen2.dll %{buildroot}%{_datadir}/%{netcoreappdir}/crossgen2
450 cp %{_reldir_clr}/crossgen2/ILCompiler.Diagnostics.dll %{buildroot}%{_datadir}/%{netcoreappdir}/crossgen2
451 cp %{_reldir_clr}/crossgen2/ILCompiler.ReadyToRun.dll %{buildroot}%{_datadir}/%{netcoreappdir}/crossgen2
452 cp %{_reldir_clr}/crossgen2/ILCompiler.TypeSystem.ReadyToRun.dll %{buildroot}%{_datadir}/%{netcoreappdir}/crossgen2
453 cp %{_reldir_clr}/crossgen2/ILCompiler.DependencyAnalysisFramework.dll %{buildroot}%{_datadir}/%{netcoreappdir}/crossgen2
454 cp %{_reldir_clr}/crossgen2/Microsoft.DiaSymReader.dll %{buildroot}%{_datadir}/%{netcoreappdir}/crossgen2
456 cp %{_reldir_clr}/libjitinterface_%{_tarch}.so %{buildroot}%{_datadir}/%{netcoreappdir}/crossgen2
460 cp %{_reldir_fx_managed}/*.dll %{buildroot}%{_datadir}/%{netcoreappdir}
461 cp %{_reldir_fx_managed}/*.pdb %{buildroot}%{_datadir}/%{netcoreappdir}
463 # Copy files for test rpm
466 mkdir artifacts/corefx_tests
467 mkdir artifacts/corefx_tests/tests
468 mkdir artifacts/corefx_tests/coreroot
470 for test_dir in `find ./artifacts/bin -type d -name "*.Tests"`; do
471 test=$(basename $test_dir)
472 mkdir artifacts/corefx_tests/tests/$test
474 for FILE in `find $test_dir \( -name "*dll" -or -name "*.json" -or -name "*.resources" -or -name "*.pdb" -or -name "*.xml" -or -name "*.exe" -or -name "*.cs" -or -name "*.docx" \)`
476 cp $FILE artifacts/corefx_tests/tests/$test/
479 for DIR in `find $test_dir -type d \( -name "*TestFiles" -or -name "*TestData" -or -name "*NetworkFiles" -or -name "*Utils" -or -name "*Mono" -or -name "*TestFeeds" -or -name "*bitmaps" \)`
481 cp -r $DIR artifacts/corefx_tests/tests/$test/
485 for test in System.Runtime.Loader.Tests System.Resources.ResourceManager.Tests System.IO.Packaging.Tests; do
486 test_dir=$(find ./artifacts/bin -type d -name $test)
487 file_dir=$(find $test_dir -name $test.dll)
488 file_dir=$(dirname $file_dir)
489 cp -r $file_dir/* artifacts/corefx_tests/tests/$test/
492 for test_dir in `find artifacts/corefx_tests/tests/ -type d -name "*.Tests"`; do
493 test=$(basename $test_dir)
494 sed "s/TEST_NAME_DLL/${test}.dll/" RunTests.sh > ${test_dir}/RunTests.sh
495 chmod +x ${test_dir}/RunTests.sh
498 for test_dir in `find artifacts/corefx_tests/tests/ -type d -name "Invariant.Tests"`; do
499 file=$(find ${test_dir} -name RunTests.sh)
501 sed "s/\$RUNTIME_PATH\/corerun xunit.console.dll/CORECLR_GLOBAL_INVARIANT=1 \$RUNTIME_PATH\/corerun xunit.console.dll/g" $file > $file.bak
506 # This is a workaround for missing xunit.console.dll for ILCompiler tests (which are technically not corefx tests, but for now are placed in corefx-tests rpm).
507 # For corefx tests xunit is set up (and copied to test dir) in ./eng/testing/xunit/xunit.console.targets.
508 # ILCompiler tests do not use this set up approach, so explicitly perform copy step (see CopyRunnerToOutputDirectory target in ./eng/testing/xunit/xunit.console.targets for details).
509 cp ./.packages/microsoft.dotnet.xunitconsolerunner/*/tools/netcoreapp3.1/* artifacts/corefx_tests/tests/ILCompiler.TypeSystem.ReadyToRun.Tests/
511 cp %{_reldir_fx_withoob}/*.dll artifacts/corefx_tests/coreroot/
513 mv artifacts/corefx_tests/tests %{buildroot}/%{fxtestdir}/
514 mv artifacts/corefx_tests/coreroot/* %{buildroot}/%{fxtestdir}/coreroot/
515 cp runtest_fx.sh %{buildroot}/%{fxtestdir}/runtest.sh
516 chmod +x %{buildroot}/%{fxtestdir}/runtest.sh
525 cp runtest_clr.sh %{buildroot}/%{clrtestdir}/runtest.sh
526 chmod +x %{buildroot}/%{clrtestdir}/runtest.sh
527 cp unsupportedCrossgenLibs.%{_barch}.txt %{buildroot}/%{clrtestdir}/unsupportedCrossgenLibs.txt | true
528 cp unsupportedCrossgenTests.%{_barch}.txt %{buildroot}/%{clrtestdir}/unsupportedCrossgenTests.txt | true
529 cp unsupportedTests.%{_barch}.txt %{buildroot}/%{clrtestdir}/unsupportedTests.txt | true
531 %define _tcreldir artifacts/tests/coreclr/Linux.%{_barch}.%{dotnet_buildtype_clr}
532 cp -r %{_tcreldir}/* %{buildroot}/%{clrtestdir}
533 find %{buildroot}/%{clrtestdir} -name "*.pdb" -exec rm {} \;
534 find %{buildroot}/%{clrtestdir} -name "*.cmd" -exec rm {} \;
535 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/in
536 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/sharedFramework
537 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/PDB
538 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/x64
539 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/gcinfo
540 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/inc
541 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/lib
542 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/IL
543 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/crossgen2
545 %ifarch %{arm} aarch64
546 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/R2RDump/Microsoft.DiaSymReader.Native.x86.dll
547 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/R2RDump/Microsoft.DiaSymReader.Native.amd64.dll
550 rm -rf %{buildroot}/%{clrtestdir}/Tests/Core_Root/ILCompiler.*.dll
551 rm -rf %{buildroot}/%{clrtestdir}/build/
552 rm %{buildroot}/%{clrtestdir}/Tests/Core_Root/{superpmi,SOS_README.md,mcs,*.a,*.so,ilasm,ildasm}
553 #rm %{buildroot}/%{clrtestdir}/Tests/Core_Root/api-ms-win-core-debug-l1-1-0.dll
554 #rm %{buildroot}/%{clrtestdir}/Tests/Core_Root/api-ms-win-core-debug-l1-1-1.dll
556 cp %{buildroot}/%{clrtestdir}/bin/*.so %{buildroot}/%{clrtestdir}/Tests/Core_Root
557 mv %{buildroot}/%{clrtestdir}/Tests/Core_Root %{buildroot}/%{clrtestdir}/coreroot
561 mkdir -p %{buildroot}/%{clrtestdir}/bin
562 cp %{_reldir_clr}/superpmi %{buildroot}/%{clrtestdir}/bin
563 cp %{_reldir_clr}/mcs %{buildroot}/%{clrtestdir}/bin
564 cp %{_reldir_clr}/libsuperpmi-shim-collector.so %{buildroot}/%{clrtestdir}/bin
565 cp %{_reldir_clr}/libsuperpmi-shim-counter.so %{buildroot}/%{clrtestdir}/bin
566 cp %{_reldir_clr}/libsuperpmi-shim-simple.so %{buildroot}/%{clrtestdir}/bin
569 ### Copy nupkg to nuget directory
571 mkdir -p %{buildroot}/nuget
572 cp ./nuget/*.nupkg %{buildroot}/nuget
576 %manifest %{name}.manifest
577 %dir %{_datadir}/%{dotnetdir}
578 %dir %{_datadir}/%{netcoreappdir}
579 %dir %{_datadir}/%{dotnettizendir}
580 %{_datadir}/%{netcoreappdir}/corerun
581 %{_datadir}/%{netcoreappdir}/libclrjit.so
582 %{_datadir}/%{netcoreappdir}/libclrgc.so
583 %{_datadir}/%{netcoreappdir}/libcoreclr.so
584 %{_datadir}/%{netcoreappdir}/libdbgshim.so
585 %{_datadir}/%{netcoreappdir}/libmscordaccore.so
586 %{_datadir}/%{netcoreappdir}/libmscordbi.so
587 %{_datadir}/%{netcoreappdir}/libcoreclrtraceptprovider.so
588 %{_datadir}/%{netcoreappdir}/libjitinterface_%{_tarch}.so
589 %{_datadir}/%{dotnettizendir}/netcoreapp
590 %{_datadir}/%{netcoreappdir}/ilasm
591 %{_datadir}/%{netcoreappdir}/ildasm
596 %if 0%{skipmanagedtools}
598 %{_datadir}/%{netcoreappdir}/createdump
600 %dir %{_datadir}/%{netcoreappdir}/crossgen2
601 %{_datadir}/%{netcoreappdir}/crossgen2/crossgen2.dll
602 %{_datadir}/%{netcoreappdir}/crossgen2/ILCompiler.Diagnostics.dll
603 %{_datadir}/%{netcoreappdir}/crossgen2/ILCompiler.ReadyToRun.dll
604 %{_datadir}/%{netcoreappdir}/crossgen2/ILCompiler.TypeSystem.ReadyToRun.dll
605 %{_datadir}/%{netcoreappdir}/crossgen2/ILCompiler.DependencyAnalysisFramework.dll
606 %{_datadir}/%{netcoreappdir}/crossgen2/Microsoft.DiaSymReader.dll
608 %{_datadir}/%{netcoreappdir}/crossgen2/libjitinterface_%{_tarch}.so
613 # symlink to .NET version for compatibility
614 %{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.0.0
615 %{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.1.0
616 %{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.1.1
617 %{_datadir}/%{netshareddir}/Microsoft.NETCore.App/2.1.4
618 %{_datadir}/%{netshareddir}/Microsoft.NETCore.App/3.0.0
619 %{_datadir}/%{netshareddir}/Microsoft.NETCore.App/3.1.3
621 %files -n coreclr-test
622 %manifest %{name}.manifest
626 %files -n coreclr-devel
627 %manifest %{name}.manifest
628 %dir %{_datadir}/%{netcoreappdir}/lib
629 %dir %{_datadir}/%{netcoreappdir}/src
630 %dir %{_datadir}/%{netcoreappdir}
631 %{_datadir}/%{netcoreappdir}/lib/*
632 %{_datadir}/%{netcoreappdir}/src/*
633 %{_datadir}/%{netcoreappdir}/System.Private.CoreLib.pdb
638 %manifest %{name}.manifest
639 %{_datadir}/%{netcoreappdir}/System.Private.CoreLib.dll
642 %files -n corefx-native
643 %manifest %{name}.manifest
644 %{_datadir}/%{netcoreappdir}/libSystem.Globalization.Native.so
645 %{_datadir}/%{netcoreappdir}/libSystem.IO.Compression.Native.so
646 %{_datadir}/%{netcoreappdir}/libSystem.Native.so
647 %{_datadir}/%{netcoreappdir}/libSystem.Net.Security.Native.so
648 %{_datadir}/%{netcoreappdir}/libSystem.Security.Cryptography.Native.OpenSsl.so
650 %files -n corefx-test-native
651 %manifest %{name}.manifest
652 %{fxtestdir}/coreroot/libSystem.IO.Ports.Native.so
657 %files -n corefx-managed
658 %manifest %{name}.manifest
659 %{_datadir}/%{netcoreappdir}/*.dll
660 %exclude %{_datadir}/%{netcoreappdir}/System.Private.CoreLib.dll
662 %files -n corefx-managed-devel
663 %manifest %{name}.manifest
664 %{_datadir}/%{netcoreappdir}/*.pdb
665 %exclude %{_datadir}/%{netcoreappdir}/System.Private.CoreLib.pdb
668 %files -n corefx-test
669 %manifest %{name}.manifest
671 %{fxtestdir}/coreroot/*.dll
672 %{fxtestdir}/runtest.sh
677 %files -n corefx-managed-ref
678 %manifest %{name}.manifest
684 rm -f %{_datadir}/%{netcoreappdir}/*.Backup
687 %post -p /sbin/ldconfig
689 %postun -p /sbin/ldconfig