[Build] Move dummy assemblies to each profile package
authorWonyoung Choi <wy80.choi@samsung.com>
Wed, 9 Jan 2019 06:05:14 +0000 (15:05 +0900)
committerWonyoung Choi <wy80.choi@samsung.com>
Wed, 9 Jan 2019 06:05:14 +0000 (15:05 +0900)
csapi-tizen-dummy had all dummy packages and was always installed
on the target image. This means that unnecessary dummy assemblies
were installed.
In this commit, only the dummy assemblies required are added to
the each profile package and the dummy package is deprecated.

packaging/csapi-tizenfx.spec
packaging/csapi-tizenfx.spec.in

index 7588c18..b078d3a 100644 (file)
@@ -38,12 +38,12 @@ AutoReqProv: no
 NuGet package for %{name}
 
 %package dummy
-Summary:   Dummy assemblies of Tizen .NET
+Summary:   not used package
 Group:     Development/Libraries
 AutoReqProv: no
 
 %description dummy
-Dummy assemblies of Tizen .NET
+not used package
 
 %package full
 Summary:   All Tizen .NET assemblies
@@ -66,7 +66,6 @@ All .pdb files of Tizen .NET
 Summary:   Tizen .NET assemblies for Common profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description common
@@ -76,7 +75,6 @@ Tizen .NET assemblies for Common profile
 Summary:   Tizen .NET assemblies for Mobile profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description mobile
@@ -86,7 +84,6 @@ Tizen .NET assemblies for Mobile profile
 Summary:   Tizen .NET assemblies for Emulator of Mobile profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description mobile-emul
@@ -96,7 +93,6 @@ Tizen .NET assemblies for Emulator of Mobile profile
 Summary:   Tizen .NET assemblies for TV profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description tv
@@ -106,7 +102,6 @@ Tizen .NET assemblies for TV profile
 Summary:   Tizen .NET assemblies for Wearable profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description wearable
@@ -121,9 +116,22 @@ cp %{SOURCE1} .
 
 %define _tizenfx_bin_path Artifacts
 
+rm -fr %{_tizenfx_bin_path}
+export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
+
+%define build_cmd ./tools/scripts/retry.sh ./tools/scripts/timeout.sh -t 600 ./build.sh
+%{build_cmd} --full
+%{build_cmd} --dummy
+%{build_cmd} --pack %{TIZEN_NET_NUGET_VERSION}
+
 GetFileList() {
   PROFILE=$1
   cat packaging/PlatformFileList.txt | 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$" | cut -d# -f1); do
+    if [ -f %{_tizenfx_bin_path}/bin/dummy/$f ]; then
+      echo "%{DOTNET_ASSEMBLY_PATH}/ref/$f"
+    fi
+  done
 }
 
 GetFileList common > common.filelist
@@ -132,14 +140,6 @@ GetFileList mobile-emul > mobile-emul.filelist
 GetFileList tv > tv.filelist
 GetFileList wearable > wearable.filelist
 
-rm -fr %{_tizenfx_bin_path}
-export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
-
-%define build_cmd ./tools/scripts/retry.sh ./tools/scripts/timeout.sh -t 600 ./build.sh
-%{build_cmd} --full
-%{build_cmd} --dummy
-%{build_cmd} --pack %{TIZEN_NET_NUGET_VERSION}
-
 %install
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
@@ -178,11 +178,11 @@ install -p -m 644 packaging/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
 %{DOTNET_NUGET_SOURCE}/*.nupkg
 
 %files dummy
-%attr(644,root,root) %{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll
 
 %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}/*
 
 %files debug
index 04fc776..e1dd571 100644 (file)
@@ -37,12 +37,12 @@ AutoReqProv: no
 NuGet package for %{name}
 
 %package dummy
-Summary:   Dummy assemblies of Tizen .NET
+Summary:   not used package
 Group:     Development/Libraries
 AutoReqProv: no
 
 %description dummy
-Dummy assemblies of Tizen .NET
+not used package
 
 %package full
 Summary:   All Tizen .NET assemblies
@@ -65,7 +65,6 @@ All .pdb files of Tizen .NET
 Summary:   Tizen .NET assemblies for Common profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description common
@@ -75,7 +74,6 @@ Tizen .NET assemblies for Common profile
 Summary:   Tizen .NET assemblies for Mobile profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description mobile
@@ -85,7 +83,6 @@ Tizen .NET assemblies for Mobile profile
 Summary:   Tizen .NET assemblies for Emulator of Mobile profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description mobile-emul
@@ -95,7 +92,6 @@ Tizen .NET assemblies for Emulator of Mobile profile
 Summary:   Tizen .NET assemblies for TV profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description tv
@@ -105,7 +101,6 @@ Tizen .NET assemblies for TV profile
 Summary:   Tizen .NET assemblies for Wearable profile
 Group:     Development/Libraries
 Requires:  %{name} = %{version}-%{release}
-Requires:  csapi-tizenfx-dummy = %{version}-%{release}
 AutoReqProv: no
 
 %description wearable
@@ -120,9 +115,22 @@ cp %{SOURCE1} .
 
 %define _tizenfx_bin_path Artifacts
 
+rm -fr %{_tizenfx_bin_path}
+export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
+
+%define build_cmd ./tools/scripts/retry.sh ./tools/scripts/timeout.sh -t 600 ./build.sh
+%{build_cmd} --full
+%{build_cmd} --dummy
+%{build_cmd} --pack %{TIZEN_NET_NUGET_VERSION}
+
 GetFileList() {
   PROFILE=$1
   cat packaging/PlatformFileList.txt | 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$" | cut -d# -f1); do
+    if [ -f %{_tizenfx_bin_path}/bin/dummy/$f ]; then
+      echo "%{DOTNET_ASSEMBLY_PATH}/ref/$f"
+    fi
+  done
 }
 
 GetFileList common > common.filelist
@@ -131,14 +139,6 @@ GetFileList mobile-emul > mobile-emul.filelist
 GetFileList tv > tv.filelist
 GetFileList wearable > wearable.filelist
 
-rm -fr %{_tizenfx_bin_path}
-export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
-
-%define build_cmd ./tools/scripts/retry.sh ./tools/scripts/timeout.sh -t 600 ./build.sh
-%{build_cmd} --full
-%{build_cmd} --dummy
-%{build_cmd} --pack %{TIZEN_NET_NUGET_VERSION}
-
 %install
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
@@ -177,11 +177,11 @@ install -p -m 644 packaging/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
 %{DOTNET_NUGET_SOURCE}/*.nupkg
 
 %files dummy
-%attr(644,root,root) %{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll
 
 %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}/*
 
 %files debug