change group name to support latest tizen 3.0 79/66079/1
authorEunji, Lee <eunjieji.lee@samsung.com>
Fri, 15 Apr 2016 05:34:32 +0000 (14:34 +0900)
committerEunji, Lee <eunjieji.lee@samsung.com>
Fri, 15 Apr 2016 05:34:32 +0000 (14:34 +0900)
Change-Id: I28ac6943b4eca24924cff0f5d8f2c57302a5df99

CMakeLists.txt
packaging/ttrace.spec
src/atrace/atrace.cpp
ttrace.h.in

index f0fd51e7e25eb39c1697ba003995ece03eafd51f..1a1abf683b3c01acf905e9235df8313a1c0efbf4 100755 (executable)
@@ -26,6 +26,13 @@ ELSEIF("${TTRACE_PROFILE}" STREQUAL "wearable")
 ELSE()
        SET(TTRACE_PROFILE_MOBILE ON)
 ENDIF()
+
+IF("${TTRACE_TIZEN_VERSION_MAJOR}" STREQUAL "3")
+       SET(TTRACE_TIZEN_VERSION_MAJOR "3")
+ELSE()
+       SET(TTRACE_TIZEN_VERSION_MAJOR "2")
+ENDIF()
+
 configure_file(${TTRACE_H_IN} "include/ttrace.h")
 
 #################################################################
index 1dc025993c4ad11ec6b30e5e399d003e0b80d82e..b4017176b9c834d42d17725210729bd64f3115a4 100755 (executable)
@@ -29,6 +29,11 @@ BuildRequires: cmake
 %endif
 %endif
 
+%define TTRACE_TIZEN_VERSION_MAJOR 2
+%if "%{?tizen_version_major}" == "3"
+%define TTRACE_TIZEN_VERSION_MAJOR 3
+%endif
+
 %description
 T-trace library
 
@@ -47,7 +52,7 @@ T-trace library devel
 export CFLAGS="$CFLAGS -g -Wall -std=gnu99"
 export CXXFLAGS="$CXXFLAGS -std=c++0x -fPIE -pie"
 %cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIBDIR=%{_libdir} -DINCLUDEDIR=%{_includedir} \
-      -DTTRACE_PROFILE=%{TTRACE_PROFILE} 
+      -DTTRACE_PROFILE=%{TTRACE_PROFILE} -DTTRACE_TIZEN_VERSION_MAJOR=%{TTRACE_TIZEN_VERSION_MAJOR}
 make %{?jobs:-j%jobs}
 
 %install
index 06de03f1dc6f6d519f555950f226ff98ce74bdb7..c1b1b1e8a6be3057d814b46495e41011176cedb1 100755 (executable)
@@ -221,8 +221,14 @@ static bool g_init_exec = false;
 static bool g_append_trace = false;
 static bool g_backup_trace = false;
 
+#if TTRACE_TIZEN_VERSION_MAJOR < 3
 static struct group group_dev;
+#define TTRACE_GROUP_NAME      "developer"
+#else
+#define TTRACE_GROUP_NAME      "users"
+#endif
 static struct group* group_ptr;
+
 #endif
 
 /* Sys file paths */
@@ -277,7 +283,11 @@ static bool fileIsWritable(const char* filename) {
 
 static bool setFilePermission (const char *path, const mode_t perms) {
        //fprintf(stderr, "path: %s, perms: %d, gid: %d\n", path,perms, group_dev.gr_gid);
+#if TTRACE_TIZEN_VERSION_MAJOR < 3
        if (0 > chown(path, 0, group_dev.gr_gid)) return false;
+#else
+       if (0 > chown(path, 0, group_ptr->gr_gid)) return false;
+#endif
        if (0 > chmod(path, perms)) return false;
        if (0 > smack_setlabel(path, "*", SMACK_LABEL_ACCESS)) return false;
 
@@ -503,8 +513,16 @@ static bool setTagsProperty(uint64_t tags)
 
 //atrace "--init_exec" mode
        if(g_init_exec) {
-               if(0 != getgrnam_r("developer", &group_dev, buf, sizeof(buf), &group_ptr))
-                       return false;
+#if TTRACE_TIZEN_VERSION_MAJOR < 3
+                if(0 != getgrnam_r(TTRACE_GROUP_NAME, &group_dev, buf, sizeof(buf), &group_ptr))
+#else
+               group_ptr = getgrnam(TTRACE_GROUP_NAME);
+               if(group_ptr == NULL)
+#endif
+               {
+                   fprintf(stderr, "Fail to group[%s] info: %s(%d)\n", TTRACE_GROUP_NAME, strerror_r(errno, str_error, sizeof(str_error)), errno);
+                   return false;
+               }
 
                fd = open("/tmp/tmp_tag", O_CREAT | O_RDWR | O_CLOEXEC, 0666);                          
                if(fd < 0){
index 8cf061bef4b4178f67d332c10bb2c6a2c282e9a2..057a2df84574e764054f0a3c8b0d83ccf0fd0be6 100755 (executable)
@@ -22,6 +22,8 @@
 #cmakedefine TTRACE_PROFILE_TV
 #cmakedefine TTRACE_PROFILE_WEARABLE
 
+#cmakedefine TTRACE_TIZEN_VERSION_MAJOR @TTRACE_TIZEN_VERSION_MAJOR@
+
 
 #include "stdint.h"