1. change the path of media DB in the TV 36/103336/3
authorYong Yeon Kim <yy9875.kim@samsung.com>
Thu, 8 Dec 2016 05:56:42 +0000 (14:56 +0900)
committerYong Yeon Kim <yy9875.kim@samsung.com>
Thu, 8 Dec 2016 05:58:46 +0000 (14:58 +0900)
2. add new condition for checking user ID

Change-Id: I23c75cd91809828aceab5afe72e257535c12e6a2

30_media-server-add_product.post [new file with mode: 0644]
lib/include/media-util.h
lib/media-util-db.c
packaging/media-server.spec
src/common/media-common-system.c

diff --git a/30_media-server-add_product.post b/30_media-server-add_product.post
new file mode 100644 (file)
index 0000000..f7baa55
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh -e
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+NEW_USER=$1
+TZ_USER_DB="/mnt/systemrw"
+export `tzplatform-get --user $NEW_USER TZ_USER_SHARE`
+
+if [ ! -e /system-update ]
+then
+/usr/bin/touch $TZ_USER_DB/.media.db
+/usr/bin/chown multimedia_fw:multimedia_fw $TZ_USER_DB/.media.db
+/usr/bin/chmod 0644 $TZ_USER_DB/.media.db
+/usr/bin/chsmack -a 'User::Home' $TZ_USER_DB/.media.db
+
+/usr/bin/mkdir -p $TZ_USER_SHARE/media/.thumb/phone
+/usr/bin/mkdir -p $TZ_USER_SHARE/media/.thumb/mmc
+/usr/bin/chown -R multimedia_fw:multimedia_fw $TZ_USER_SHARE/media
+/usr/bin/chsmack -a 'User::App::Shared' -t $TZ_USER_SHARE/media
+/usr/bin/chmod 0775 $TZ_USER_SHARE/media
+/usr/bin/chmod -R 0777 $TZ_USER_SHARE/media/.thumb
+/usr/bin/find $NEW_USER $TZ_USER_SHARE/media/.thumb -type d -exec /usr/bin/chsmack -a 'User::App::Shared' -t {} +
+fi
index 18f57c9..fa5f419 100755 (executable)
 #define MEDIA_ROOT_PATH_SDCARD tzplatform_mkpath(TZ_SYS_STORAGE, "SDCard")
 #define MEDIA_ROOT_PATH_USB            tzplatform_getenv(TZ_SYS_STORAGE)
 #define MEDIA_ROOT_PATH_CLOUD  tzplatform_mkpath(TZ_SYS_STORAGE, "tnfs/cloud")
-#define MEDIA_DB_NAME          tzplatform_mkpath(TZ_USER_DB, ".media.db")              /**<  media db name*/
 #ifdef _USE_SENIOR_MODE
 #define MEDIA_CONTENT_PATH             "content"               /**<  user content folder name*/
+#define MEDIA_DB_NAME          "/mnt/systemrw/.media.db"               /**<  media db name*/
 #else
 #define MEDIA_CONTENT_PATH             "media"         /**<  user content folder name*/
+#define MEDIA_DB_NAME          tzplatform_mkpath(TZ_USER_DB, ".media.db")              /**<  media db name*/
 #endif
 #ifdef _USE_SENIOR_MODE
 #define MEDIA_ROOT_PATH_SENIOR_MODE "/opt/familytv"
index 8122e12..fac80b2 100755 (executable)
@@ -76,6 +76,11 @@ static char* __media_get_media_DB(uid_t uid)
        size_t grpbufsize;
        int ret = -1;
 
+#ifdef _USE_SENIOR_MODE
+       result_passwd = strdup(MEDIA_DB_NAME);
+       goto END;
+#endif
+
        grpbufsize = sysconf(_SC_GETGR_R_SIZE_MAX);
        if (grpbufsize == -1)           /* Value was indeterminate */
                grpbufsize = 16384;             /* Should be more than enough (16*1024) */
index 914ee13..193f381 100755 (executable)
@@ -259,23 +259,24 @@ install -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/media-server.path
 %else
 ln -s ../media-server.service %{buildroot}%{_unitdir}/multi-user.target.wants/media-server.service
 %endif
-#ini file
+
 mkdir -p %{buildroot}/etc/multimedia
+mkdir -p %{buildroot}/etc/gumd/useradd.d
+
 %if 0%{?product_tv}
 cp -rf %{_builddir}/%{name}-%{version}/media_content_config_product.ini %{buildroot}/etc/multimedia/media_content_config.ini
+cp -rf %{_builddir}/%{name}-%{version}/30_media-server-add_product.post %{buildroot}/etc/gumd/useradd.d/30_media-server-add.post
+cp -rf %{_builddir}/%{name}-%{version}/data/media_product.db %{buildroot}/etc/multimedia/.media.db
 %else
 cp -rf %{_builddir}/%{name}-%{version}/media_content_config.ini %{buildroot}/etc/multimedia/media_content_config.ini
-%endif
-cp -rf %{_builddir}/%{name}-%{version}/media-server-plugin %{buildroot}/etc/multimedia/media-server-plugin
-mkdir -p %{buildroot}/etc/gumd/useradd.d
 cp -rf %{_builddir}/%{name}-%{version}/30_media-server-add.post %{buildroot}/etc/gumd/useradd.d/30_media-server-add.post
-#dummy db file for reset media DB
-%if 0%{?product_tv}
-cp -rf %{_builddir}/%{name}-%{version}/data/media_product.db %{buildroot}/etc/multimedia/.media.db
-%else
 cp -rf %{_builddir}/%{name}-%{version}/data/media.db %{buildroot}/etc/multimedia/.media.db
 %endif
 
+cp -rf %{_builddir}/%{name}-%{version}/media-server-plugin %{buildroot}/etc/multimedia/media-server-plugin
+
+#dummy db file for reset media DB
+
 #OS Upgrade
 mkdir -p %{buildroot}%{upgrade_script_path}
 cp -f %{SOURCE5} %{buildroot}%{upgrade_script_path}
index 454c306..a1b7a81 100755 (executable)
@@ -494,6 +494,14 @@ int ms_sys_get_uid(uid_t *uid)
        if (users > 0) {
                *uid = list[0];
                MS_SAFE_FREE(list);
+#ifdef _USE_SENIOR_MODE
+               /*in tv side, sometimes the uid is not valid.
+               so for debbuging add below code temporary */
+               if (*uid != MEDIA_DEFAULT_UID) {
+                       MS_DBG_ERR("NOT VALID UID[%d]", *uid);
+                       return MS_MEDIA_ERR_INTERNAL;
+               }
+#endif
        } else {
                MS_DBG_ERR("No login user!.");
                MS_SAFE_FREE(list);