Set the architecture info for Unity app 16/137816/2
authorJunghoon Park <jh9216.park@samsung.com>
Mon, 10 Jul 2017 02:16:13 +0000 (11:16 +0900)
committerJunghoon Park <jh9216.park@samsung.com>
Mon, 10 Jul 2017 03:00:48 +0000 (12:00 +0900)
Change-Id: Ibd103dbf6035bcbb8bf240f72ad67a34f1a55974
Signed-off-by: Junghoon Park <jh9216.park@samsung.com>
CMakeLists.txt
packaging/launchpad.spec
src/launchpad_common.c

index 8baac20..5ecb214 100755 (executable)
@@ -69,6 +69,9 @@ ENDIF(_TIZEN_FEATURE_PRIORITY_CHANGE)
 IF(_TIZEN_FEATURE_LOADER_PRIORITY)
        ADD_DEFINITIONS("-DTIZEN_FEATURE_LOADER_PRIORITY")
 ENDIF(_TIZEN_FEATURE_LOADER_PRIORITY)
+IF(_TIZEN_FEATURE_SET_PERSONALITY_32)
+       ADD_DEFINITIONS("-DTIZEN_FEATURE_SET_PERSONALITY_32")
+ENDIF(_TIZEN_FEATURE_SET_PERSONALITY_32)
 
 ADD_DEFINITIONS("-DLAUNCHPAD_LOG")
 ADD_DEFINITIONS("-DPRELOAD_ACTIVATE")
index 131e4d9..c2bf8c6 100644 (file)
@@ -32,6 +32,11 @@ Requires(preun): /usr/bin/systemctl
 
 %define tizen_feature_priority_change 0
 %define tizen_feature_loader_priority 0
+%ifarch armv7l i586
+%define tizen_arch32 1
+%else
+%define tizen_arch32 0
+%endif
 
 %description
 Launchpad for launching applications
@@ -66,12 +71,16 @@ _TIZEN_FEATURE_PRIORITY_CHANGE=ON
 %if 0%{?tizen_feature_loader_priority}
 _TIZEN_FEATURE_LOADER_PRIORITY=ON
 %endif
+%if 0%{?tizen_arch32}
+_TIZEN_FEATURE_SET_PERSONALITY_32=ON
+%endif
 
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
 %cmake -DVERSION=%{version} \
        -DMAJORVER=${MAJORVER} \
        -D_TIZEN_FEATURE_PRIORITY_CHANGE:BOOL=${_TIZEN_FEATURE_PRIORITY_CHANGE} \
        -D_TIZEN_FEATURE_LOADER_PRIORITY:BOOL=${_TIZEN_FEATURE_LOADER_PRIORITY} \
+       -D_TIZEN_FEATURE_SET_PERSONALITY_32:BOOL=${_TIZEN_FEATURE_SET_PERSONALITY_32} \
        .
 %__make %{?_smp_mflags}
 
index e92e053..89fcadb 100644 (file)
@@ -36,6 +36,7 @@
 #include <systemd/sd-journal.h>
 #include <sys/time.h>
 #include <sys/resource.h>
+#include <sys/personality.h>
 
 #include "launchpad_common.h"
 #include "key.h"
@@ -686,6 +687,15 @@ void _set_env(appinfo_t *menu_info, bundle *kb)
 
        snprintf(buf, sizeof(buf), "%d", getpid());
        setenv("AUL_PID", buf, 1);
+
+#ifdef TIZEN_FEATURE_SET_PERSONALITY_32
+       int res = personality(PER_LINUX32);
+
+       if (res < 0) {
+               _E("personality() failed,  error: %d (%s)",
+                               errno, strerror(errno));
+       }
+#endif
 }
 
 char **_create_argc_argv(bundle *kb, int *margc)