Initial support for tizen v2.4 product tv
authorYoungsoo Choi <kenshin.choi@samsung.com>
Wed, 22 Jul 2015 01:12:35 +0000 (10:12 +0900)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 06:57:09 +0000 (06:57 +0000)
1) Providing python acceleration
   It makes generating gyp extremely faster than before.

2) Solving python-base issue with supplementary repository
   This issue has been observed on tizen v2.2.1 as well.
   The following patch of python-base causes errors.
   >> subprocess-can-raise-OSError-EPIPE-when-communicatin.patch

3) Supporting prebuilt gold for tizen v2.4 tv
   The chromium-efl built by our own prebuilt gold can not be executed
   on target, so gold linker is newly built based on current platform.

4) Fixing not founding EGL header error
   Following error was happened.
   >> fatal error: EGL/egl.h: No such file or directory

5) Applying changed API usage of capi-appfw-application
   Tizen v2.4 and v3.0 tv support the changed API usage as mobile does.

6) Disabling multi-media feature
   Some of undefined multi-media variables are being used on x11.
   Enabling the feature will be handled in other patch set.

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=14033
Reviewed by: Antonio Gomes, SeungSeop Park

Change-Id: If510789d3e8990867ddd3618e072c43bbba0ab37
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
tizen_src/build/common.sh
tizen_src/build/gbs.conf
tizen_src/build/gyp_chromiumefl.sh
tizen_src/build/prebuild/tizen_2.4_tv/ld [new symlink]
tizen_src/build/prebuild/tizen_2.4_tv/ld.gold [new file with mode: 0755]
tizen_src/ewk/efl_integration/private/ewk_user_media_private.cc
tizen_src/ewk/efl_webview_app/mini_browser.c
tizen_src/ewk/ubrowser/main.cc
tizen_src/packaging/chromium-efl.spec

index 5019d6d..af942e6 100755 (executable)
@@ -226,7 +226,7 @@ function setupAndExecuteTargetBuild() {
   fi
 
   EXTRA_PACK_OPTS=""
-  if [ "$PROFILE" == "tztv_v2.2.1_prehawk" ]; then
+  if [ "$PROFILE" == "tztv_v2.2.1_prehawk" -o "$PROFILE" == "tztv_v2.4_product" ]; then
     EXTRA_PACK_OPTS="--extra-packs python-base-x86-arm,python-x86-arm,python-xml-x86-arm"
   fi
 
index 7848ef9..35ff302 100755 (executable)
@@ -5,9 +5,12 @@
 [profile.tizenmb_v2.4]
 obs = obs.tizenmb
 # The order is IMPORTANT!
-repos = repo.tizenmb_base_v2.4_obs
+repos = repo.devel-gcc49-base, repo.tizenmb_base_v2.4_obs
 buildroot = ~/GBS-ROOT-2.4-DEV
 
+[repo.devel-gcc49-base]
+url = http://168.219.209.55/download/live/devel:/gcc49:/Base/standard/
+
 [repo.tizenmb_base_v2.4_obs]
 url = http://168.219.209.55/download/snapshots/2.4-mobile/common/latest/repos/target/packages
 
@@ -148,6 +151,33 @@ url = http://10.251.52.177/tizenrepo/tv_repo/hawkp/tztv-2.2.1-hawk-p/repos/profi
 [repo.supplement_hawkp]
 url = http://10.251.52.177/tizenrepo/tv_repo/supplement_tv_hawk
 
+#############################################
+#
+# Tizen v2.4 for product tv (HawkP armv7l)
+#
+[profile.tztv_v2.4_product]
+obs = obs.tztv_v2.4_product
+# FIXME: Once the repo.base_2016 is ready, replace repo.base_2016_backup with it.
+repos = repo.supplement, repo.product_2016, repo.base_2016_backup
+buildroot = ~/GBS-ROOT-2.4-TV-PRODUCT-ARM-X11
+
+[repo.base_2016]
+url=http://168.219.244.109/tizen-rsa/adv-tztv-2.4-base-migration/standard/latest/repos/base/armv7l/packages/
+
+[repo.base_2016_backup]
+url=http://168.219.244.109/tizen-rsa/adv-tztv-2.4-base-migration-backup/standard/latest/repos/base/armv7l/packages/
+
+[repo.product_2016]
+url=http://168.219.244.109/releases/tztv-2.4-product-main2016/product/Hawk-P/latest/repos/product/armv7l/packages/
+
+[repo.supplement]
+url=http://10.251.52.177/tizenrepo/tv_repo/supplement_tizen_v2.4_product/
+
+[obs.tztv_v2.4_product]
+url = https://168.219.241.169:81
+user = obs_viewer
+passwdx = obs_viewer_169
+
 ###############################################
 #
 # Tizen v3.0
index 88d08f0..ae3e6d4 100755 (executable)
@@ -133,15 +133,22 @@ add_tizen_flags() {
   if [ "$tizen_version" == "3.0" ] && [ "$host_arch" == "arm" ]; then
     ADDITIONAL_GYP_PARAMETERS+="-Dlinux_use_gold_flags=1
                                "
+  elif [ "$tizen_version" == "2.4" -a "$target" == "tv" ]; then
+    ADDITIONAL_GYP_PARAMETERS+="-Dlinux_use_gold_flags=0
+                                -Dprebuilt_ld_gold_dir=${TOPDIR}/tizen_src/build/prebuild/tizen_v2.4_tv
+                               "
   else
     ADDITIONAL_GYP_PARAMETERS+="-Dlinux_use_gold_flags=0
                                 -Dprebuilt_ld_gold_dir=${TOPDIR}/tizen_src/build/prebuild
                                "
   fi
 
-  if [ "$tizen_version" != "2.2.1" -a "$tizen_version" != "2.3" ]; then
+  if [ "$tizen_version" == "3.0" ]; then
     COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=1
                            "
+  elif [ "$tizen_version" == "2.4" -a "$target" == "tv" ]; then
+    COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
+                           "
   else
     COMMON_GYP_PARAMETERS+="-Dtizen_multimedia_support=0
                            "
diff --git a/tizen_src/build/prebuild/tizen_2.4_tv/ld b/tizen_src/build/prebuild/tizen_2.4_tv/ld
new file mode 120000 (symlink)
index 0000000..6cd0370
--- /dev/null
@@ -0,0 +1 @@
+ld.gold
\ No newline at end of file
diff --git a/tizen_src/build/prebuild/tizen_2.4_tv/ld.gold b/tizen_src/build/prebuild/tizen_2.4_tv/ld.gold
new file mode 100755 (executable)
index 0000000..8617717
Binary files /dev/null and b/tizen_src/build/prebuild/tizen_2.4_tv/ld.gold differ
index ecde025..b53ac8e 100644 (file)
@@ -19,10 +19,12 @@ _Ewk_User_Media_Permission_Request::_Ewk_User_Media_Permission_Request(
 void _Ewk_User_Media_Permission_Request::ProceedPermissionCallback(bool allowed) {
   CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
 
+#if defined(TIZEN_MULTIMEDIA_SUPPORT)
   if(allowed)
     web_contents_->RequestMediaAccessAllow(request_, callback_);
   else
     web_contents_->RequestMediaAccessDeny(request_, callback_);
+#endif
 
   if (suspended_) {
     // If decision was suspended, then it was not deleted by the creator
@@ -31,4 +33,4 @@ void _Ewk_User_Media_Permission_Request::ProceedPermissionCallback(bool allowed)
     // it will be deleted right after permission callbacks are executed.
     BrowserThread::DeleteSoon(BrowserThread::UI, FROM_HERE, this);
   }
-}
\ No newline at end of file
+}
index a931c3d..e552a9a 100644 (file)
@@ -731,36 +731,19 @@ int main(int argc, char** argv)
     return EXIT_FAILURE;
   }
 
-#ifdef OS_TIZEN_MOBILE
   ui_app_lifecycle_callback_s ops;
-#else
-  app_event_callback_s ops;
-#endif
+
   memset(&ops, 0x00, sizeof(ops));
   ops.create = __br_app_create;
   ops.terminate = __br_app_terminate;
   ops.pause = __br_app_pause;
   ops.resume = __br_app_resume;
 
-#ifdef TIZEN_MOBILE_LEGACY_V_2_1
-  ops.service = NULL;
-#endif
-
-#ifndef OS_TIZEN_MOBILE
-  ops.low_memory = NULL;
-  ops.low_battery = NULL;
-  ops.device_orientation = NULL;
-  ops.language_changed = NULL;
-  ops.region_format_changed = NULL;
-#endif
-
   app_data ad;
   memset(&ad, 0x00, sizeof(app_data));
-#ifdef OS_TIZEN_MOBILE
+
   int ret = ui_app_main(argc, argv, &ops, &ad);
-#else
-  int ret = app_efl_main(&argc, &argv, &ops, &ad);
-#endif
+
   return ret;
 }
 
index 7b6d755..25edb52 100644 (file)
@@ -158,23 +158,16 @@ int main(int argc, char** argv) {
 // to replace mini_browser. For the code below to work
 // proper manifest needs to be added to the rpm package
 #if defined(OS_TIZEN) && defined(TIZEN_APP)
-#if defined(OS_TIZEN_MOBILE)
   ui_app_lifecycle_callback_s ops;
-#else
-  app_event_callback_s ops;
-#endif
+
   memset(&ops, 0, sizeof(ops));
   ops.create = app_create;
   ops.terminate = app_terminate;
   ops.pause = app_pause;
   ops.resume = app_resume;
 
-#if defined(OS_TIZEN_MOBILE)
   ret = ui_app_main(argc, argv, &ops, &data)
 #else
-  ret = app_efl_main(&argc, &argv, &ops, &data);
-#endif
-#else
   if (!app_create(&data))
     return EXIT_FAILURE;
 
index 26b3169..0232d8f 100644 (file)
@@ -146,6 +146,9 @@ BuildRequires: pkgconfig(ttrace)
 %else # for TV
 BuildRequires: pkgconfig(audio-session-mgr)
 BuildRequires: pkgconfig(mm-session)
+%if "%{?chromium_efl_tizen_version}%{!?chromium_efl_tizen_version:0}" == "2.4"
+BuildRequires: pkgconfig(glesv2)
+%endif
 %endif
 
 # Version Conditions for Every Targets