Generate sub rpm packages for each profile
authorWonYoung Choi <wy80.choi@samsung.com>
Fri, 18 Aug 2017 05:43:01 +0000 (14:43 +0900)
committerWonYoung Choi <wy80.choi@samsung.com>
Fri, 18 Aug 2017 05:43:01 +0000 (14:43 +0900)
Change-Id: Ibd63e3bb2b25353889595ae2e1b4f347c16e8943

csapi-tizenfx-tv.files [deleted file]
filelist.txt [new file with mode: 0644]
packaging/csapi-tizenfx.spec
scripts/filelist.sh [new file with mode: 0755]

diff --git a/csapi-tizenfx-tv.files b/csapi-tizenfx-tv.files
deleted file mode 100644 (file)
index ba7ba4c..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/usr/share/dotnet.tizen/framework/ElmSharp.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.Alarm.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.Badge.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.Common.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.DataControl.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.MessagePort.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.Notification.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.NotificationEventListener.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.PackageManager.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.Preference.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.RemoteView.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.Service.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.ToastMessage.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.UI.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.WidgetApplication.dll
-/usr/share/dotnet.tizen/framework/Tizen.Applications.WidgetControl.dll
-/usr/share/dotnet.tizen/framework/Tizen.Content.Download.dll
-/usr/share/dotnet.tizen/framework/Tizen.Content.MediaContent.dll
-/usr/share/dotnet.tizen/framework/Tizen.Content.MimeType.dll
-/usr/share/dotnet.tizen/framework/Tizen.dll
-/usr/share/dotnet.tizen/framework/Tizen.Location.dll
-/usr/share/dotnet.tizen/framework/Tizen.Log.dll
-/usr/share/dotnet.tizen/framework/Tizen.Maps.dll
-/usr/share/dotnet.tizen/framework/Tizen.Messaging.dll
-/usr/share/dotnet.tizen/framework/Tizen.Messaging.Push.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.AudioIO.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.Camera.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.MediaCodec.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.MediaPlayer.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.Metadata.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.Radio.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.Recorder.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.Remoting.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.StreamRecorder.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.Util.dll
-/usr/share/dotnet.tizen/framework/Tizen.Multimedia.Vision.dll
-/usr/share/dotnet.tizen/framework/Tizen.Network.Bluetooth.dll
-/usr/share/dotnet.tizen/framework/Tizen.Network.Connection.dll
-/usr/share/dotnet.tizen/framework/Tizen.Network.IoTConnectivity.dll
-/usr/share/dotnet.tizen/framework/Tizen.Network.WiFiDirect.dll
-/usr/share/dotnet.tizen/framework/Tizen.Network.WiFi.dll
-/usr/share/dotnet.tizen/framework/Tizen.NUI.dll
-/usr/share/dotnet.tizen/framework/Tizen.Security.dll
-/usr/share/dotnet.tizen/framework/Tizen.Security.SecureRepository.dll
-/usr/share/dotnet.tizen/framework/Tizen.Sensor.dll
-/usr/share/dotnet.tizen/framework/Tizen.System.dll
-/usr/share/dotnet.tizen/framework/Tizen.System.Feedback.dll
-/usr/share/dotnet.tizen/framework/Tizen.System.Information.dll
-/usr/share/dotnet.tizen/framework/Tizen.System.MediaKey.dll
-/usr/share/dotnet.tizen/framework/Tizen.System.PlatformConfig.dll
-/usr/share/dotnet.tizen/framework/Tizen.System.Storage.dll
-/usr/share/dotnet.tizen/framework/Tizen.System.SystemSettings.dll
-/usr/share/dotnet.tizen/framework/Tizen.Tracer.dll
-/usr/share/dotnet.tizen/framework/Tizen.Uix.InputMethodManager.dll
-/usr/share/dotnet.tizen/framework/Tizen.Uix.Stt.dll
-/usr/share/dotnet.tizen/framework/Tizen.Uix.Tts.dll
-/usr/share/dotnet.tizen/framework/Tizen.Uix.VoiceControl.dll
-/usr/share/dotnet.tizen/framework/Tizen.WebView.dll
-/usr/share/dotnet.tizen/framework/res/*.png
diff --git a/filelist.txt b/filelist.txt
new file mode 100644 (file)
index 0000000..ef819a2
--- /dev/null
@@ -0,0 +1,85 @@
+ElmSharp.dll                                       #common #mobile #mobile-emul #tv #ivi #wearable
+ElmSharp.Wearable.dll                              #wearable
+res/maps_marker_pin_48.png                         #mobile #mobile-emul #tv
+res/maps_marker_pin_72.png                         #mobile #mobile-emul #tv
+res/maps_marker_sticker_48.png                     #mobile #mobile-emul #tv
+res/maps_marker_sticker_72.png                     #mobile #mobile-emul #tv
+Tizen.Account.AccountManager.dll                   #mobile #mobile-emul #ivi
+Tizen.Account.FidoClient.dll                       #mobile #mobile-emul
+Tizen.Account.OAuth2.dll                           #mobile #mobile-emul #ivi
+Tizen.Applications.Alarm.dll                       #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.AttachPanel.dll
+Tizen.Applications.Badge.dll                       #mobile #mobile-emul #ivi
+Tizen.Applications.Common.dll                      #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.DataControl.dll                 #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.MessagePort.dll                 #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.Notification.dll                #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.NotificationEventListener.dll   #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.PackageManager.dll              #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.Preference.dll                  #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.RemoteView.dll                  #mobile #mobile-emul #tv
+Tizen.Applications.Service.dll                     #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.ToastMessage.dll                #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.UI.dll                          #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Applications.WatchApplication.dll            #wearable
+Tizen.Applications.WidgetApplication.dll           #mobile #mobile-emul #tv #ivi
+Tizen.Applications.WidgetControl.dll               #mobile #mobile-emul #tv #ivi
+Tizen.Content.Download.dll                         #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Content.MediaContent.dll                     #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Content.MimeType.dll                         #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Context.dll                                  #mobile #mobile-emul
+Tizen.Convergence.dll                              #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.dll                                          #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Location.dll                                 #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Location.Geofence.dll                        #mobile #mobile-emul
+Tizen.Log.dll                                      #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Maps.dll                                     #mobile #mobile-emul #tv
+Tizen.Messaging.dll                                #mobile #mobile-emul
+Tizen.Messaging.Push.dll                           #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.AudioIO.dll                       #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.Camera.dll                        #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.dll                               #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.MediaCodec.dll                    #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.MediaPlayer.dll                   #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.Metadata.dll                      #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.Radio.dll                         #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.Recorder.dll                      #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.Remoting.dll                      #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.StreamRecorder.dll                #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.Util.dll                          #common #mobile #mobile-emul #tv #ivi
+Tizen.Multimedia.Vision.dll                        #common #mobile #mobile-emul #tv #ivi
+Tizen.Network.Bluetooth.dll                        #common #mobile #ivi
+Tizen.Network.Connection.dll                       #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Network.IoTConnectivity.dll                  #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Network.Mtp.dll
+Tizen.Network.Nfc.dll                              #mobile #mobile-emul #ivi
+Tizen.Network.Nsd.dll                              #common #mobile #mobile-emul #tv #wearable
+Tizen.Network.Smartcard.dll                        #mobile #mobile-emul #ivi
+Tizen.Network.WiFi.dll                             #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Network.WiFiDirect.dll                       #mobile #tv #ivi
+Tizen.NUI.dll                                      #common #mobile #mobile-emul #tv
+Tizen.PhonenumberUtils.dll                         #mobile #mobile-emul
+Tizen.Pims.Calendar.dll                            #common #mobile #mobile-emul #tv
+Tizen.Pims.Contacts.dll                            #mobile #mobile-emul
+Tizen.Security.dll                                 #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Security.SecureRepository.dll                #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Security.TEEC.dll                            #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Sensor.dll                                   #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.System.dll                                   #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.System.Feedback.dll                          #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.System.Information.dll                       #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.System.MediaKey.dll                          #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.System.PlatformConfig.dll
+Tizen.System.Storage.dll                           #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.System.SystemSettings.dll                    #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Tapi.dll
+Tizen.Telephony.dll                                #mobile #mobile-emul #ivi
+Tizen.Tracer.dll                                   #common #mobile #mobile-emul #tv #ivi #wearable
+Tizen.Uix.InputMethod.dll                          #common #mobile #mobile-emul #tv #ivi
+Tizen.Uix.InputMethodManager.dll                   #common #mobile #mobile-emul #tv #ivi
+Tizen.Uix.Stt.dll                                  #mobile #mobile-emul #tv
+Tizen.Uix.SttEngine.dll                            #mobile #mobile-emul #tv
+Tizen.Uix.Tts.dll                                  #mobile #mobile-emul #tv
+Tizen.Uix.TtsEngine.dll                            #mobile #mobile-emul #tv
+Tizen.Uix.VoiceControl.dll                         #mobile #mobile-emul #tv #ivi
+Tizen.WebView.dll                                  #common #mobile #mobile-emul #tv #ivi #wearable
index 5f713b7..87f837a 100644 (file)
@@ -35,6 +35,41 @@ AutoReqProv: no
 %description dummy
 Dummy assemblies of Tizen .NET
 
+%package full
+Summary:   All Tizen .NET assemblies
+Group:     Development/Libraries
+AutoReqProv: no
+
+%description full
+All Tizen .NET assemblies
+
+%package common
+Summary:   Tizen .NET assemblies for Common profile
+Group:     Development/Libraries
+Requires:  csapi-tizenfx-dummy
+AutoReqProv: no
+
+%description common
+Tizen .NET assemblies for Common profile
+
+%package mobile
+Summary:   Tizen .NET assemblies for Mobile profile
+Group:     Development/Libraries
+Requires:  csapi-tizenfx-dummy
+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:  csapi-tizenfx-dummy
+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
@@ -44,11 +79,35 @@ AutoReqProv: no
 %description tv
 Tizen .NET assemblies for TV profile
 
+%package ivi
+Summary:   Tizen .NET assemblies for IVI profile
+Group:     Development/Libraries
+Requires:  csapi-tizenfx-dummy
+AutoReqProv: no
+
+%description ivi
+Tizen .NET assemblies for IVI profile
+
+%package wearable
+Summary:   Tizen .NET assemblies for Wearable profile
+Group:     Development/Libraries
+Requires:  csapi-tizenfx-dummy
+AutoReqProv: no
+
+%description wearable
+Tizen .NET assemblies for Wearable profile
+
 %prep
 %setup -q
 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
 
 %install
 mkdir -p %{buildroot}%{DOTNET_ASSEMBLY_PATH}
@@ -61,18 +120,38 @@ install -p -m 644 binaries/frameworks/res/* %{buildroot}%{DOTNET_ASSEMBLY_RES_PA
 install -p -m 644 binaries/frameworks_dummy/*.dll %{buildroot}%{DOTNET_ASSEMBLY_DUMMY_PATH}
 install -p -m 644 binaries/*.nupkg %{buildroot}%{DOTNET_NUGET_SOURCE}
 
-%files
+%files nuget
+%{DOTNET_NUGET_SOURCE}/*.nupkg
+
+%files dummy
+%attr(644,root,root) %{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll
+
+%files full
 %manifest %{name}.manifest
 %license LICENSE
 %attr(644,root,root) %{DOTNET_ASSEMBLY_PATH}/*.dll
 %attr(644,root,root) %{DOTNET_ASSEMBLY_RES_PATH}/*
 
-%files nuget
-%{DOTNET_NUGET_SOURCE}/*.nupkg
+%files common -f common.filelist
+%manifest %{name}.manifest
+%license LICENSE
 
-%files dummy
-%attr(644,root,root) %{DOTNET_ASSEMBLY_DUMMY_PATH}/*.dll
+%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 tv -f csapi-tizenfx-tv.files
+%files wearable -f wearable.filelist
 %manifest %{name}.manifest
 %license LICENSE
diff --git a/scripts/filelist.sh b/scripts/filelist.sh
new file mode 100755 (executable)
index 0000000..110aa5c
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+SCRIPT_FILE=$(readlink -f $0)
+SCRIPT_DIR=$(dirname $SCRIPT_FILE)
+
+LISTFILE=$(readlink -f $SCRIPT_DIR/../filelist.txt)
+
+PATH_PREFIX="/usr/share/dotnet.tizen/framework"
+
+if [ ! -f $LISTFILE ]; then
+       echo "No filelist.txt"
+       exit 1
+fi
+
+PROFILE=$1; shift
+if [ -z "$PROFILE" ]; then
+       echo "No profile specified."
+       exit 1
+fi
+
+LIST=$(cat $LISTFILE | grep -E "#$PROFILE[[:space:]]|#$PROFILE$" | cut -d# -f1)
+
+for f in $LIST; do
+  echo "$PATH_PREFIX/$f"
+done