[TRE-2857] Add patchelf, crossgen2-mic pkg & Modify dotnet-generate-ni.post script 12/269112/1 accepted/tizen/unified/20220111.010919 submit/tizen/20220110.213957 submit/tizen/20220111.003339
authorj-h.choi <j-h.choi@samsung.com>
Mon, 10 Jan 2022 03:29:00 +0000 (12:29 +0900)
committerj-h.choi <j-h.choi@samsung.com>
Mon, 10 Jan 2022 03:32:12 +0000 (12:32 +0900)
Change-Id: I476770794c8a4e17dee6732dd95038f1a25a81c7

patterns/mobile-dotnet-runtime.yaml
scripts/mobile-dotnet-generate-ni.post

index 1343960..89aff71 100644 (file)
@@ -7,3 +7,5 @@ Packages:
 - corefx-native
 - mscorlib
 - coreclr-diagnostics
+- crossgen2-mic
+- patchelf
index 75c32a0..2ef089d 100755 (executable)
@@ -35,20 +35,37 @@ DLL_LIST="
         /usr/share/dotnet.tizen/framework/Tizen.System.Information.dll
 "
 
-export IBCDATA_DIR=/usr/share/dotnet.tizen/ibcdata
-
 # remove previous native image
 dotnettool --ni-reset-system
 
+# set the patchelf
+export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
+export MIC_CROSSGEN2_ENABLED=1
+
+DOTNET_MIC_DIR=/opt/usr/dotnet/mic
+
+chmod 755 /usr/bin/patchelf
+chmod 755 $DOTNET_MIC_DIR/*
+
+/usr/bin/patchelf --set-interpreter $DOTNET_MIC_DIR/ld-linux-x86-64.so.2 $DOTNET_MIC_DIR/crossgen2
+/usr/bin/patchelf --set-rpath $DOTNET_MIC_DIR $DOTNET_MIC_DIR/crossgen2
+
+for file in $( find $DOTNET_MIC_DIR -type f \( -name "*.so" -or -name "*.so.*" \) -not -name "*.dbg" -not -name "ld-*.so*" )
+do
+    /usr/bin/patchelf --set-rpath $DOTNET_MIC_DIR ${file}
+done
+
 # generate native image
 for target in $DLL_LIST;
 do
-        dotnettool --ibc-dir $IBCDATA_DIR --ni-dll $target;
+    dotnettool --ni-dll $target --inputbubble;
 done;
 
-# remove ibc data files
-if [ -d $IBCDATA_DIR ]
-then
-    rm -rf $IBCDATA_DIR
-fi
+# generate native image for all app
+dotnettool --ni-regen-all-app
+dotnettool --tac-regen-all
 
+# remove files and package related to dotnet used only in MIC
+rm -rf $DOTNET_MIC_DIR
+rpm -e patchelf
+rpm -e crossgen2-mic