[Service][VD] Apply DeviceHome as squashfs format 63/263863/8
authorDongHyun Song <dh81.song@samsung.com>
Mon, 13 Sep 2021 02:04:24 +0000 (11:04 +0900)
committerDongHyun Song <dh81.song@samsung.com>
Thu, 16 Sep 2021 08:49:16 +0000 (17:49 +0900)
Apply squashfs app to reduce app size in TV profile.
This will reduce DeviceHome application 9.2MB(unzipped) --> 1.9MB

Plus, this removes DeviceHome's onboot option either. DeviceHome will
be launched by wrt-service-broker.

Note.
privileged-service should add mount policies for wgt-backend first.
Then, this patch can release to VD p4

Change-Id: I8b00c5c742b862f394e3269c483cea926b4311e2
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
device_home/config.xml
packaging/wrtjs.spec
tizen/build/build_app.sh

index c2a3e42..d354aef 100755 (executable)
@@ -13,7 +13,7 @@
     <tizen:privilege name="http://tizen.org/privilege/filesystem.write"/>
     <tizen:privilege name="http://tizen.org/privilege/internet"/>
     <tizen:privilege name="http://tizen.org/privilege/mediastorage"/>
-    <tizen:service id="9z6IujVul3.DeviceHome" type="global" auto-restart="true" on-boot="true">
+    <tizen:service id="9z6IujVul3.DeviceHome" type="global">
         <tizen:content src="service.js"/>
         <tizen:name>DeviceHomeService</tizen:name>
         <tizen:description>DeviceHomeService</tizen:description>
index 1e5a941..3129a72 100755 (executable)
@@ -33,6 +33,9 @@ BuildRequires: pkgconfig(dlog)
 
 %if "%{?profile}" == "tv"
 BuildRequires: app-signer
+%if 0%{?_use_d2d}
+BuildRequires: squashfs
+%endif
 %endif
 BuildRequires: hash-signer, zip
 BuildRequires: pkgconfig(libtzplatform-config)
@@ -183,14 +186,20 @@ cp -r %{app_dir}/* %{buildroot}%{_resourcedir}/
 %endif
 
 %if 0%{?_use_d2d}
-  %define _d2d_wgt_file_name device_home.wgt
+%if "%{?tizen_profile_name}" == "tv"
+  %define _d2d_app_file_name device_home.tmg
+  %define _d2d_app_extension tmg
+%else
+  %define _d2d_app_file_name device_home.wgt
+  %define _d2d_app_extension wgt
+%endif
   install -m 0644 key.pem device_home/signaling_server/gen/
   install -m 0644 cert.pem device_home/signaling_server/gen/
-  tizen/build/build_app.sh %{buildroot} device_home %{_d2d_wgt_file_name} wgt platform %{?profile}
+  tizen/build/build_app.sh %{buildroot} device_home %{_d2d_app_file_name} %{_d2d_app_extension} platform %{?profile}
 
   install -d %{buildroot}%{_appdir}/.preload-rw-wgt/
-  install -m 0644 %{buildroot}/%{_d2d_wgt_file_name} %{buildroot}%{_appdir}/.preload-rw-wgt/
-  rm -f %{buildroot}/%{_d2d_wgt_file_name}
+  install -m 0644 %{buildroot}/%{_d2d_app_file_name} %{buildroot}%{_appdir}/.preload-rw-wgt/
+  rm -f %{buildroot}/%{_d2d_app_file_name}
 %endif
 
 %if 0%{?_use_nmt}
@@ -232,7 +241,7 @@ fi
 %post
 %if "%{?_local_build}" == "1"
 %if 0%{?_use_d2d}
-  pkgcmd -i -t wgt -p %{_appdir}/.preload-rw-wgt/%{_d2d_wgt_file_name}
+  pkgcmd -i -t wgt -p %{_appdir}/.preload-rw-wgt/%{_d2d_app_file_name}
 %endif
 %endif
 
@@ -245,7 +254,7 @@ rm -fr %{buildroot}
 %manifest packaging/wrtjs.manifest
 %license LICENSE
 %if 0%{?_use_d2d}
-  %{_appdir}/.preload-rw-wgt/%{_d2d_wgt_file_name}
+  %{_appdir}/.preload-rw-wgt/%{_d2d_app_file_name}
 %endif
 %if "%{?tizen_profile_name}" != "tv"
   %caps(cap_setgid,cap_sys_admin=ei) %{_bindir}/wrt-loader
index fc900a7..2c1a7d3 100755 (executable)
@@ -26,7 +26,7 @@ if [ "${file_extension}" == "tpk" ]; then
   install -m 0644 packaging/tizen-manifest-tpk.xml ${source_path}/tizen-manifest.xml
   install -m 0644 LICENSE ${source_path}/license
   cp -rf out/gen/app ${source_path}/shared/res/wrt/app
-elif [ "${file_extension}" == "wgt" ]; then
+elif [ "${file_extension}" == "wgt" -o "${file_extension}" == "tmg" ]; then
   # DeviceHome
   cp -rf device_home ${source_path}
 else
@@ -37,14 +37,19 @@ fi
 # Test signing
 /usr/bin/hash-signer.sh -a -d -p ${privilege} -b ${output_path} ${source_dir_name}
 
+if [ "${file_extension}" == "wgt" ]; then
 pushd ${source_path}
 echo "* zip"
-zip -yr $file_name .
-mv $file_name ../
+zip -yr ${file_name} .
+mv ${file_name} ../
 popd
+elif [ "${file_extension}" == "tmg" ]; then
+echo "mksquashfs ${source_path} ${output_path}/${file_name} -comp gzip"
+mksquashfs ${source_path} ${output_path}/${file_name} -comp gzip
+fi
 
 # tpkresigning from app-signer package
-if [ "${profile}" == "tv" -a "${privilege}" != "public" ]; then
+if [ "${profile}" == "tv" -a "${privilege}" != "public" -a "${file_extension}" == "wgt" ]; then
   tpkresigner -a -d -p ${privilege} -n %{4} ${output_path}/${file_name}
 fi
 ls ${output_path}