Release 4.0.0-preview1-00253
[platform/core/csapi/tizenfx.git] / packaging / csapi-tizenfx.spec
index fad9bc0..07fec1a 100644 (file)
@@ -3,9 +3,13 @@
 %define DOTNET_ASSEMBLY_RES_PATH %{DOTNET_ASSEMBLY_PATH}/res
 %define DOTNET_NUGET_SOURCE /nuget
 
+%define DOTNET_TIZEN_API_VERSION 4
+
+%define _tizenfx_bin_path Artifacts
+
 Name:       csapi-tizenfx
 Summary:    Assemblies of Tizen .NET
-Version:    4.0.0.97
+Version:    4.0.0.253
 Release:    1
 Group:      Development/Libraries
 License:    Apache-2.0
@@ -13,9 +17,15 @@ URL:        https://www.tizen.org
 Source0:    %{name}-%{version}.tar.gz
 Source1:    %{name}.manifest
 
+BuildRequires: dotnet-build-tools
+
 BuildArch: noarch
+ExcludeArch: aarch64
 AutoReqProv: no
 
+Requires(post): vconf
+
+
 %description
 %{summary}
 
@@ -38,6 +48,7 @@ Dummy assemblies of Tizen .NET
 %package full
 Summary:   All Tizen .NET assemblies
 Group:     Development/Libraries
+Requires:  %{name} = %{version}-%{release}
 AutoReqProv: no
 
 %description full
@@ -54,7 +65,8 @@ All .pdb files of Tizen .NET
 %package common
 Summary:   Tizen .NET assemblies for Common profile
 Group:     Development/Libraries
-Requires:  csapi-tizenfx-dummy
+Requires:  %{name} = %{version}-%{release}
+Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description common
@@ -63,7 +75,8 @@ Tizen .NET assemblies for Common profile
 %package mobile
 Summary:   Tizen .NET assemblies for Mobile profile
 Group:     Development/Libraries
-Requires:  csapi-tizenfx-dummy
+Requires:  %{name} = %{version}-%{release}
+Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description mobile
@@ -72,7 +85,8 @@ Tizen .NET assemblies for Mobile profile
 %package mobile-emul
 Summary:   Tizen .NET assemblies for Emulator of Mobile profile
 Group:     Development/Libraries
-Requires:  csapi-tizenfx-dummy
+Requires:  %{name} = %{version}-%{release}
+Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description mobile-emul
@@ -81,7 +95,8 @@ Tizen .NET assemblies for Emulator of Mobile profile
 %package tv
 Summary:   Tizen .NET assemblies for TV profile
 Group:     Development/Libraries
-Requires:  csapi-tizenfx-dummy
+Requires:  %{name} = %{version}-%{release}
+Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description tv
@@ -90,7 +105,8 @@ Tizen .NET assemblies for TV profile
 %package ivi
 Summary:   Tizen .NET assemblies for IVI profile
 Group:     Development/Libraries
-Requires:  csapi-tizenfx-dummy
+Requires:  %{name} = %{version}-%{release}
+Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description ivi
@@ -99,7 +115,8 @@ Tizen .NET assemblies for IVI profile
 %package wearable
 Summary:   Tizen .NET assemblies for Wearable profile
 Group:     Development/Libraries
-Requires:  csapi-tizenfx-dummy
+Requires:  %{name} = %{version}-%{release}
+Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description wearable
@@ -110,12 +127,24 @@ Tizen .NET assemblies for Wearable profile
 cp %{SOURCE1} .
 
 %build
-./scripts/filelist.sh common > common.filelist
-./scripts/filelist.sh mobile > mobile.filelist
-./scripts/filelist.sh mobile-emul > mobile-emul.filelist
-./scripts/filelist.sh tv > tv.filelist
-./scripts/filelist.sh ivi > ivi.filelist
-./scripts/filelist.sh wearable > wearable.filelist
+
+GetFileList() {
+  PROFILE=$1
+  cat pkg/PlatformFileList.txt | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#"
+}
+
+GetFileList common > common.filelist
+GetFileList mobile > mobile.filelist
+GetFileList mobile-emul > mobile-emul.filelist
+GetFileList tv > tv.filelist
+GetFileList ivi > ivi.filelist
+GetFileList wearable > wearable.filelist
+
+rm -fr %{_tizenfx_bin_path}
+export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
+./build.sh --full
+./build.sh --dummy
+./build.sh --pack 4.0.0-preview1-00253
 
 %install
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
@@ -123,11 +152,20 @@ mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
 mkdir -p %{buildroot}%{DOTNET_NUGET_SOURCE}
 
-install -p -m 644 binaries/frameworks/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
-install -p -m 644 binaries/frameworks/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
-install -p -m 644 binaries/frameworks/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
-install -p -m 644 binaries/frameworks_dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
-install -p -m 644 binaries/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
+install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/platform/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/platform/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/platform/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/bin/dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
+install -p -m 644 %{_tizenfx_bin_path}/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
+
+%post
+vconftool set -t int "db/dotnet/tizen_api_version" %{DOTNET_TIZEN_API_VERSION} -f
+
+
+%files
+%license LICENSE
 
 %files nuget
 %{DOTNET_NUGET_SOURCE}/*.nupkg
@@ -137,7 +175,6 @@ install -p -m 644 binaries/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
 
 %files full
 %manifest %{name}.manifest
-%license LICENSE
 %attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.dll
 %attr(644,root,root) %{DOTNET_ASSEMBLY_RES_PATH}/*
 
@@ -146,24 +183,18 @@ install -p -m 644 binaries/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
 
 %files common -f common.filelist
 %manifest %{name}.manifest
-%license LICENSE
 
 %files mobile -f mobile.filelist
 %manifest %{name}.manifest
-%license LICENSE
 
 %files mobile-emul -f mobile-emul.filelist
 %manifest %{name}.manifest
-%license LICENSE
 
 %files tv -f tv.filelist
 %manifest %{name}.manifest
-%license LICENSE
 
 %files ivi -f ivi.filelist
 %manifest %{name}.manifest
-%license LICENSE
 
 %files wearable -f wearable.filelist
 %manifest %{name}.manifest
-%license LICENSE