[TRE-2857] Modify iot-making-building-blocks-dll.post script 11/269111/3 submit/tizen/20220110.213957
authorj-h.choi <j-h.choi@samsung.com>
Mon, 10 Jan 2022 03:30:04 +0000 (12:30 +0900)
committerj-h.choi <j-h.choi@samsung.com>
Mon, 10 Jan 2022 04:40:20 +0000 (13:40 +0900)
Change-Id: Ie491ab4e4c398c20e549e859b0a59f7e1762e58d

scripts/iot-making-building-blocks-dll.post

index 3f67c7ec22278c41f06fa1423c7d50dbc489894e..7903846b1d601a25a38d8e630f27bc9980a2aa34 100644 (file)
@@ -2,7 +2,10 @@
 
 echo "############### iot-making-building-blocks-dll.post ################"
 
-export IBCDATA_DIR=/usr/share/dotnet.tizen/ibcdata
+export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
+export MIC_CROSSGEN2_ENABLED=1
+
+DOTNET_MIC_DIR=/opt/usr/dotnet/mic
 
 if [ -f  /opt/share/bb/make_tizenfx_from_bb.sh ]
 then
@@ -12,25 +15,32 @@ then
                # remove previous native image
                dotnettool --ni-reset-system
 
-               dotnettool --ibc-dir $IBCDATA_DIR --ni-dll /usr/share/dotnet.tizen/netcoreapp/System.Private.CoreLib.dll
-               if [ -f /usr/share/dotnet.tizen/netcoreapp/System.Private.CoreLib.dll.Backup ]
-               then
-                       # generate native image with ibcdata
-                       dotnettool --ibc-dir $IBCDATA_DIR --ni-system
-               else
-                       echo "The current ibcdata format does not match in Iot(aarch64) profile. So regenerate native image without ibcdata."
-                       # regenerate native image without ibcdata
-                       dotnettool --ni-system
-               fi
-
-               # remove ibc data files
-               if [ -d $IBCDATA_DIR ]
-               then
-                   rm -rf $IBCDATA_DIR
-               fi
+               chmod 755 /usr/bin/patchelf
+               chmod 755 $DOTNET_MIC_DIR/*
+
+               # set the patchelf
+               /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 system
+               dotnettool --ni-system --inputbubble
+
+               # generate native image for all app
+               dotnettool --ni-regen-all-app
+               dotnettool --tac-regen-all
        else
                echo "There is no execute file - /usr/bin/dotnettool"
        fi
 else
        echo "There is no script file - /opt/share/bb/make_tizenfx_from_bb.sh"
 fi
+
+# remove files and package related to dotnet used only in MIC
+rm -rf $DOTNET_MIC_DIR
+rpm -e patchelf
+rpm -e crossgen2-mic