From 6a36c0cc81385fbb64d3eee0005f0c07a4bdcef1 Mon Sep 17 00:00:00 2001 From: JongHeonChoi Date: Tue, 31 Oct 2023 13:12:25 +0900 Subject: [PATCH] [Build] Create vconf related to .NET as a file in RO location (#5680) * Change the location and value for generating vconf of runtime_version * [Build] Create vconf related to .NET as a file in RO location --- packaging/csapi-tizenfx.spec | 12 ++++++++++-- packaging/csapi-tizenfx.spec.in | 8 ++++++++ packaging/makeruntimeversion.py | 32 ++++++++++++++++++++++++++++++++ packaging/makespec.sh | 3 +++ packaging/maketfm.py | 0 5 files changed, 53 insertions(+), 2 deletions(-) create mode 100755 packaging/makeruntimeversion.py mode change 100644 => 100755 packaging/maketfm.py diff --git a/packaging/csapi-tizenfx.spec b/packaging/csapi-tizenfx.spec index 0e7eefe848c..0a846056a35 100644 --- a/packaging/csapi-tizenfx.spec +++ b/packaging/csapi-tizenfx.spec @@ -9,10 +9,12 @@ %define DOTNET_ASSEMBLY_RES_PATH %{DOTNET_ASSEMBLY_PATH}/res %define DOTNET_TOOLS_PATH /usr/share/dotnet.tizen/tools %define DOTNET_PRELOAD_PATH /usr/share/dotnet.tizen/preload +%define DOTNET_LIBRARY_PATH /usr/share/dotnet.tizen/lib %define DOTNET_NUGET_SOURCE /nuget -%define TIZEN_NET_RUNTIME_IDENTIFIERS 4.0.0:5.0.0:5.5.0:6.0.0:6.5.0:7.0.0 -%define TIZEN_NET_TARGET_FRAMEWORK_MONIKERS tizen10.0:tizen90:tizen80:tizen70:tizen60:tizen50:tizen40 +%define TIZEN_NET_RUNTIME_IDENTIFIERS 4.0.0:5.0.0:5.5.0:6.0.0:6.5.0:7.0.0:8.0.0 +%define TIZEN_NET_TARGET_FRAMEWORK_MONIKERS tizen11.0:tizen10.0:tizen90:tizen80:tizen70:tizen60:tizen50:tizen40 +%define DOTNET_CORE_RUNTIME_VERSION 6.0 %define UPGRADE_SCRIPT_PATH /usr/share/upgrade/scripts @@ -180,6 +182,7 @@ mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH} mkdir -p %{buildroot}%{DOTNET_NUGET_SOURCE} mkdir -p %{buildroot}%{DOTNET_TOOLS_PATH} mkdir -p %{buildroot}%{DOTNET_PRELOAD_PATH} +mkdir -p %{buildroot}%{DOTNET_LIBRARY_PATH} # Install Runtime Assemblies install -p -m 644 Artifacts/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH} @@ -218,6 +221,11 @@ install -p -m 755 packaging/500.tizenfx_upgrade.sh %{buildroot}%{UPGRADE_SCRIPT_ /usr/bin/vconftool set -t string db/dotnet/tizen_api_path %{DOTNET_ASSEMBLY_PATH} -f /usr/bin/vconftool set -t string db/dotnet/tizen_rid_version %{TIZEN_NET_RUNTIME_IDENTIFIERS} -f /usr/bin/vconftool set -t string db/dotnet/tizen_tfm_support %{TIZEN_NET_TARGET_FRAMEWORK_MONIKERS} -f +/usr/bin/vconftool set -t string db/dotnet/runtime_version %{DOTNET_CORE_RUNTIME_VERSION} -f +touch %{buildroot}%{DOTNET_LIBRARY_PATH}/dotnet_vconf.info +echo "db/dotnet/tizen_rid_version %{TIZEN_NET_RUNTIME_IDENTIFIERS}" > %{buildroot}%{DOTNET_LIBRARY_PATH}/dotnet_vconf.info +echo "db/dotnet/tizen_tfm_support %{TIZEN_NET_TARGET_FRAMEWORK_MONIKERS}" >> %{buildroot}%{DOTNET_LIBRARY_PATH}/dotnet_vconf.info +echo "db/dotnet/runtime_version %{DOTNET_CORE_RUNTIME_VERSION}" >> %{buildroot}%{DOTNET_LIBRARY_PATH}/dotnet_vconf.info %files %license LICENSE diff --git a/packaging/csapi-tizenfx.spec.in b/packaging/csapi-tizenfx.spec.in index afa487ed1e5..3b7555ab9e1 100644 --- a/packaging/csapi-tizenfx.spec.in +++ b/packaging/csapi-tizenfx.spec.in @@ -8,10 +8,12 @@ %define DOTNET_ASSEMBLY_RES_PATH %{DOTNET_ASSEMBLY_PATH}/res %define DOTNET_TOOLS_PATH /usr/share/dotnet.tizen/tools %define DOTNET_PRELOAD_PATH /usr/share/dotnet.tizen/preload +%define DOTNET_LIBRARY_PATH /usr/share/dotnet.tizen/lib %define DOTNET_NUGET_SOURCE /nuget %define TIZEN_NET_RUNTIME_IDENTIFIERS @rid_version@ %define TIZEN_NET_TARGET_FRAMEWORK_MONIKERS @tfm_support@ +%define DOTNET_CORE_RUNTIME_VERSION @dotnet_core_version@ %define UPGRADE_SCRIPT_PATH /usr/share/upgrade/scripts @@ -179,6 +181,7 @@ mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH} mkdir -p %{buildroot}%{DOTNET_NUGET_SOURCE} mkdir -p %{buildroot}%{DOTNET_TOOLS_PATH} mkdir -p %{buildroot}%{DOTNET_PRELOAD_PATH} +mkdir -p %{buildroot}%{DOTNET_LIBRARY_PATH} # Install Runtime Assemblies install -p -m 644 Artifacts/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH} @@ -217,6 +220,11 @@ install -p -m 755 packaging/500.tizenfx_upgrade.sh %{buildroot}%{UPGRADE_SCRIPT_ /usr/bin/vconftool set -t string db/dotnet/tizen_api_path %{DOTNET_ASSEMBLY_PATH} -f /usr/bin/vconftool set -t string db/dotnet/tizen_rid_version %{TIZEN_NET_RUNTIME_IDENTIFIERS} -f /usr/bin/vconftool set -t string db/dotnet/tizen_tfm_support %{TIZEN_NET_TARGET_FRAMEWORK_MONIKERS} -f +/usr/bin/vconftool set -t string db/dotnet/runtime_version %{DOTNET_CORE_RUNTIME_VERSION} -f +touch %{buildroot}%{DOTNET_LIBRARY_PATH}/dotnet_vconf.info +echo "db/dotnet/tizen_rid_version %{TIZEN_NET_RUNTIME_IDENTIFIERS}" > %{buildroot}%{DOTNET_LIBRARY_PATH}/dotnet_vconf.info +echo "db/dotnet/tizen_tfm_support %{TIZEN_NET_TARGET_FRAMEWORK_MONIKERS}" >> %{buildroot}%{DOTNET_LIBRARY_PATH}/dotnet_vconf.info +echo "db/dotnet/runtime_version %{DOTNET_CORE_RUNTIME_VERSION}" >> %{buildroot}%{DOTNET_LIBRARY_PATH}/dotnet_vconf.info %files %license LICENSE diff --git a/packaging/makeruntimeversion.py b/packaging/makeruntimeversion.py new file mode 100755 index 00000000000..1713f0fd87a --- /dev/null +++ b/packaging/makeruntimeversion.py @@ -0,0 +1,32 @@ +import os +import xml.etree.ElementTree as ET + +scrpit_dir = os.path.dirname(os.path.abspath(__file__)) +spec_dir = os.path.join(scrpit_dir, "csapi-tizenfx.spec") +nuspec_file = os.path.join(scrpit_dir, "../pkg/Tizen.NET/Tizen.NET.nuspec") +tree = ET.parse(nuspec_file) +root = tree.getroot() + +runtime_list = [] +for meta_child in root.iter(): + if meta_child.tag == "{http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd}metadata": + for depen_child in meta_child: + if depen_child.tag == "{http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd}dependencies": + for group in depen_child: + tfm = group.attrib["targetFramework"].lower() + if tfm.startswith(".net"): + if len(tfm) != 15: + runtime_list.append(tfm.replace(".net", "").strip()) + +runtime_list = list(set(runtime_list)) +runtime_list.sort(reverse=True) + +f = open(spec_dir,'r') +origin_data = f.read() +f.close() + +new_data = origin_data.replace("@dotnet_core_version@", ':'.join(runtime_list)) + +f = open(spec_dir, 'w') +f.write(new_data) +f.close() diff --git a/packaging/makespec.sh b/packaging/makespec.sh index 103b28548bc..85f04f8b074 100755 --- a/packaging/makespec.sh +++ b/packaging/makespec.sh @@ -30,3 +30,6 @@ python $SCRIPT_DIR/makerid.py # Update TFM python $SCRIPT_DIR/maketfm.py + +# Update Runtime Version +python $SCRIPT_DIR/makeruntimeversion.py diff --git a/packaging/maketfm.py b/packaging/maketfm.py old mode 100644 new mode 100755