X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=packaging%2Fcsapi-tizenfx.spec;h=f0f875affd1dd1d77dfb60c6f6083ed561101a39;hb=6eb55064d08c8e48a1d0e612e4fe44e7060c44ee;hp=785edf93875407d2cd1361cba1f6d8ed6630c911;hpb=07f46126aaafd6242723b9a2ba9d1f03434370b8;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git diff --git a/packaging/csapi-tizenfx.spec b/packaging/csapi-tizenfx.spec index 785edf9..f0f875a 100644 --- a/packaging/csapi-tizenfx.spec +++ b/packaging/csapi-tizenfx.spec @@ -1,8 +1,8 @@ # Auto-generated from csapi-tizenfx.spec.in by makespec.sh -%define TIZEN_NET_API_VERSION 8 -%define TIZEN_NET_RPM_VERSION 8.0.0.999+nui550 -%define TIZEN_NET_NUGET_VERSION 8.0.0.99999 +%define TIZEN_NET_API_VERSION 11 +%define TIZEN_NET_RPM_VERSION 11.0.0.999+nui22202 +%define TIZEN_NET_NUGET_VERSION 11.0.0.99999 %define DOTNET_ASSEMBLY_PATH /usr/share/dotnet.tizen/framework %define DOTNET_ASSEMBLY_DUMMY_PATH %{DOTNET_ASSEMBLY_PATH}/ref @@ -11,7 +11,10 @@ %define DOTNET_PRELOAD_PATH /usr/share/dotnet.tizen/preload %define DOTNET_NUGET_SOURCE /nuget -%define TIZEN_NET_RUNTIME_IDENTIFIERS 4.0.0:5.0.0:5.5.0:6.0.0 +%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 UPGRADE_SCRIPT_PATH /usr/share/upgrade/scripts Name: csapi-tizenfx Summary: Assemblies of Tizen .NET @@ -24,10 +27,10 @@ Source0: %{name}-%{version}.tar.gz Source1: %{name}.manifest BuildArch: noarch -ExcludeArch: aarch64 AutoReqProv: no BuildRequires: dotnet-build-tools +BuildRequires: pkgconfig(dali2-csharp-binder) Requires(post): /usr/bin/vconftool # BuildRequires for StructValidator @@ -107,15 +110,6 @@ AutoReqProv: no %description debug All .pdb files of Tizen .NET -%package common -Summary: Tizen .NET assemblies for Common profile -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} -AutoReqProv: no - -%description common -Tizen .NET assemblies for Common profile - %package mobile Summary: Tizen .NET assemblies for Mobile profile Group: Development/Libraries @@ -125,15 +119,6 @@ AutoReqProv: no %description mobile Tizen .NET assemblies for Mobile profile -%package mobile-emul -Summary: Tizen .NET assemblies for Emulator of Mobile profile -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} -AutoReqProv: no - -%description mobile-emul -Tizen .NET assemblies for Emulator of Mobile profile - %package tv Summary: Tizen .NET assemblies for TV profile Group: Development/Libraries @@ -157,23 +142,27 @@ Tizen .NET assemblies for Wearable profile cp %{SOURCE1} . %build -%{?asan:export ASAN_OPTIONS=use_sigaltstack=false:allow_user_segv_handler=true:handle_sigfpe=false:`cat /ASAN_OPTIONS`} -%define _tizenfx_bin_path Artifacts +# configure for ASAN +%{?asan:export ASAN_OPTIONS=use_sigaltstack=false:allow_user_segv_handler=true:handle_sigfpe=false:`cat /ASAN_OPTIONS`} -rm -fr %{_tizenfx_bin_path} +# prepare for build export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true - %define build_cmd ./tools/scripts/retry.sh ./tools/scripts/timeout.sh -t 600 ./build.sh + +# build full assemblies %if %{defined profile} %{build_cmd} --full /p:BuildProfile=%{profile} %else %{build_cmd} --full %endif + +# pack nuget package %{build_cmd} --pack %{TIZEN_NET_NUGET_VERSION} +# check validation of struct size %if %{defined enable_struct_test} -dotnet validate-struct %{_tizenfx_bin_path}/bin/public || echo " +dotnet validate-struct Artifacts/bin/public || echo " ####################################################### ##################### W A R N I N G ################### ####################################################### @@ -183,27 +172,6 @@ dotnet validate-struct %{_tizenfx_bin_path}/bin/public || echo " " %endif -# Generate filelist for rpm packaging -GetFileList() { - PROFILE=$1 - cat packaging/PlatformFileList.txt | grep -v "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1 | sed "s#^#%{DOTNET_ASSEMBLY_PATH}/#" - for f in $(cat packaging/PlatformFileList.txt | grep -v -E "#$PROFILE[[:space:]]|#$PROFILE$|\.preload" | cut -d# -f1); do - if [ -f %{_tizenfx_bin_path}/bin/dummy/$f ]; then - echo "%{DOTNET_ASSEMBLY_PATH}/ref/$f" - fi - done - for f in $(cat packaging/PlatformFileList.txt | grep "\.preload" | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1); do - if [ -f packaging/preload/$f ]; then - echo "%{DOTNET_PRELOAD_PATH}/$f" - fi - done -} - -GetFileList common > common.filelist -GetFileList mobile > mobile.filelist -GetFileList mobile-emul > mobile-emul.filelist -GetFileList tv > tv.filelist -GetFileList wearable > wearable.filelist %install mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH} @@ -214,40 +182,47 @@ mkdir -p %{buildroot}%{DOTNET_TOOLS_PATH} mkdir -p %{buildroot}%{DOTNET_PRELOAD_PATH} # Install Runtime Assemblies -install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH} -install -p -m 644 %{_tizenfx_bin_path}/bin/internal/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH} +install -p -m 644 Artifacts/bin/public/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH} +install -p -m 644 Artifacts/bin/internal/*.dll %{buildroot}%{DOTNET_ASSEMBLY_PATH} # Install Debug Symbols -install -p -m 644 %{_tizenfx_bin_path}/bin/public/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH} -install -p -m 644 %{_tizenfx_bin_path}/bin/internal/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH} +install -p -m 644 Artifacts/bin/public/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH} +install -p -m 644 Artifacts/bin/internal/*.pdb %{buildroot}%{DOTNET_ASSEMBLY_PATH} # Install Resource files -[ -d %{_tizenfx_bin_path}/bin/public/res ] \ - && install -p -m 644 %{_tizenfx_bin_path}/bin/public/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH} -[ -d %{_tizenfx_bin_path}/bin/internal/res ] \ - && install -p -m 644 %{_tizenfx_bin_path}/bin/internal/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH} +[ -d Artifacts/bin/public/res ] \ + && cp -fr Artifacts/bin/public/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH} +[ -d Artifacts/bin/internal/res ] \ + && cp -fr Artifacts/bin/internal/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PATH} # Install Dummy Assemblies -install -p -m 644 %{_tizenfx_bin_path}/bin/dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH} +install -p -m 644 Artifacts/bin/dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH} + +# Install Preload +install -p -m 644 Artifacts/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH} # Install NuGet Packages -install -p -m 644 %{_tizenfx_bin_path}/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE} -install -p -m 644 packaging/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE} +install -p -m 644 Artifacts/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE} +install -p -m 644 packaging/depends/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE} # Install Tools install -p -m 644 tools/bin/* %{buildroot}%{DOTNET_TOOLS_PATH} -# Install Preload -install -p -m 644 packaging/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH} + +# Install Upgrade Script +mkdir -p %{buildroot}%{UPGRADE_SCRIPT_PATH} +install -p -m 755 packaging/500.tizenfx_upgrade.sh %{buildroot}%{UPGRADE_SCRIPT_PATH} %post /usr/bin/vconftool set -t int db/dotnet/tizen_api_version %{TIZEN_NET_API_VERSION} -f /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 %files %license LICENSE %license LICENSE.MIT +%attr(0755,root,root) %{UPGRADE_SCRIPT_PATH}/500.tizenfx_upgrade.sh %files nuget %{DOTNET_NUGET_SOURCE}/*.nupkg @@ -260,25 +235,21 @@ install -p -m 644 packaging/preload/*.preload %{buildroot}%{DOTNET_PRELOAD_PATH} %files full %manifest %{name}.manifest -%attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.dll -%attr(644,root,root) %{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll -%attr(644,root,root) %{DOTNET_ASSEMBLY_RES_PATH}/* +%defattr(644,root,root,755) +%{DOTNET_ASSEMBLY_PATH}/*.dll +%{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll +%{DOTNET_ASSEMBLY_RES_PATH}/* +%{DOTNET_PRELOAD_PATH}/* %files debug %manifest %{name}.manifest %attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.pdb -%files common -f common.filelist -%manifest %{name}.manifest - -%files mobile -f mobile.filelist -%manifest %{name}.manifest - -%files mobile-emul -f mobile-emul.filelist +%files mobile -f Artifacts/mobile.filelist %manifest %{name}.manifest -%files tv -f tv.filelist +%files tv -f Artifacts/tv.filelist %manifest %{name}.manifest -%files wearable -f wearable.filelist +%files wearable -f Artifacts/wearable.filelist %manifest %{name}.manifest