apply featuring to app2sd plugin, and clean CMakeLists 56/79856/13
authorjongmyeongko <jongmyeong.ko@samsung.com>
Wed, 13 Jul 2016 08:16:22 +0000 (17:16 +0900)
committerjongmyeongko <jongmyeong.ko@samsung.com>
Fri, 22 Jul 2016 06:22:43 +0000 (15:22 +0900)
Change-Id: Id976ee70872ce94f88b0fb468068100226d78377
Signed-off-by: jongmyeongko <jongmyeong.ko@samsung.com>
CMakeLists.txt
app2sd.pc.in
packaging/app2sd.spec
plugin/app2sd/CMakeLists.txt
plugin/app2sd/src/app2sd_internals.c
test/CMakeLists.txt

index 111de35..e6c7a4c 100644 (file)
@@ -1,62 +1,55 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-#SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
 PROJECT(app2ext C)
 
 SET(VERSION_MAJOR 0)
 SET(VERSION "${VERSION_MAJOR}.4.2")
 
-ADD_DEFINITIONS("-DTIZEN_FEATURE_APP2SD_DMCRYPT_ENCRYPTION")
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Werror")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
 
-#Add your submodule directory name
-ADD_SUBDIRECTORY(plugin/app2sd)
-
-### Required packages
 INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED dlog)
 
-FOREACH(flag ${pkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
+IF(TIZEN_FEATURE_APP2SD_PLUGIN)
+       ADD_DEFINITIONS("-DTIZEN_FEATURE_APP2SD_PLUGIN")
+       ADD_DEFINITIONS("-DTIZEN_FEATURE_APP2SD_DMCRYPT_ENCRYPTION")
+       ADD_SUBDIRECTORY(plugin/app2sd)
+ENDIF(TIZEN_FEATURE_APP2SD_PLUGIN)
 
-pkg_check_modules(libpkgs REQUIRED dlog)
+# app2ext library
+pkg_check_modules(app2ext_libpkgs REQUIRED dlog glib-2.0)
 
-FOREACH(flag ${libpkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+FOREACH(flag ${app2ext_libpkgs_CFLAGS})
+       SET(APP2EXT_CFLAGS "${APP2EXT_CFLAGS} ${flag}")
 ENDFOREACH(flag)
+SET(CMAKE_C_FLAGS "${EXTRA_CFLAGS} ${APP2EXT_CFLAGS}")
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+ADD_DEFINITIONS("-DLIBPREFIX=\"${LIB_INSTALL_DIR}\"")
 
-### Local include directories
+# Local include directories
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc
        ${CMAKE_SOURCE_DIR}/common/inc)
 
-## build app2ext library
-SET(app2ext_dir "${CMAKE_SOURCE_DIR}")
-SET(app2ext_src_dir "${app2ext_dir}/src")
+# build app2ext library
 SET(APP2EXT "app2ext")
+SET(app2ext_src_dir "${CMAKE_SOURCE_DIR}/src")
 SET(libapp2ext_SOURCES
        ${app2ext_src_dir}/app2ext_interface.c
        ${CMAKE_SOURCE_DIR}/common/src/app2ext_utils.c)
-SET(libapp2ext_LDFLAGS " -L${LIB_INSTALL_DIR} -module -avoid-version -ldl ")
-SET(libapp2ext_CFLAGS  " ${CFLAGS} -fPIC ")
-
-ADD_DEFINITIONS("-DLIBPREFIX=\"${LIB_INSTALL_DIR}\"")
 
 ADD_LIBRARY(${APP2EXT} SHARED ${libapp2ext_SOURCES})
 SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES SOVERSION ${VERSION_MAJOR})
 SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES COMPILE_FLAGS "${libapp2ext_CFLAGS}")
-TARGET_LINK_LIBRARIES(${APP2EXT} ${libpkgs_LDFLAGS})
-
-SET(CMAKE_INSTALL_PREFIX "/usr")
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC")
+TARGET_LINK_LIBRARIES(${APP2EXT} ${app2ext_libpkgs_LDFLAGS})
 
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/app2sd.manifest.in ${CMAKE_BINARY_DIR}/app2sd.manifest @ONLY)
-
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/app2sd.pc.in ${CMAKE_BINARY_DIR}/app2sd.pc @ONLY)
 
 INSTALL(TARGETS ${APP2EXT} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/app2sd.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/inc/app2ext_interface.h DESTINATION include)
 
+IF(TIZEN_FEATURE_APP2SD_PLUGIN)
 ADD_SUBDIRECTORY(test)
+ENDIF(TIZEN_FEATURE_APP2SD_PLUGIN)
index de967c5..17fb8f8 100644 (file)
@@ -5,8 +5,8 @@ libdir=@LIB_INSTALL_DIR@
 includedir=@INCLUDE_INSTALL_DIR@
 
 Name: app2sd
-Description: The app2sd Library
+Description: app2ext layer
 Version: 1.1.0
 Requires:
 Cflags: -I${includedir}
-Libs: -L${libdir} -lapp2sd -lapp2ext
+Libs: -L${libdir} -lapp2ext
index 6d7826e..bb040c9 100644 (file)
@@ -6,18 +6,30 @@ Group:      Application Framework/Package Management
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
 
-BuildRequires:  pkgconfig(libssl)
-BuildRequires:  pkgconfig(dlog)
-BuildRequires:  pkgconfig(openssl)
 BuildRequires:  pkgconfig(db-util)
-BuildRequires:  pkgconfig(pkgmgr-info)
 BuildRequires:  pkgconfig(minizip)
+BuildRequires:  pkgconfig(zlib)
+BuildRequires:  pkgconfig(dlog)
+BuildRequires:  pkgconfig(pkgmgr-info)
 BuildRequires:  pkgconfig(libtzplatform-config)
 BuildRequires:  pkgconfig(gio-2.0)
 BuildRequires:  pkgconfig(glib-2.0)
 BuildRequires:  pkgconfig(aul)
+BuildRequires:  pkgconfig(storage)
 BuildRequires:  cmake
 
+%if "%{?profile}" == "common"
+%define tizen_feature_app2sd_plugin 1
+%endif
+
+%if "%{?profile}" == "mobile"
+%define tizen_feature_app2sd_plugin 1
+%endif
+
+%if "%{?profile}" == "tv"
+%define tizen_feature_app2sd_plugin 1
+%endif
+
 %description
 Tizen application installation on external memory
 
@@ -41,7 +53,14 @@ Tizen application installation on external memory (test)
 %setup -q
 
 %build
-%cmake . -DUNITDIR=%{_unitdir}
+%if 0%{?tizen_feature_app2sd_plugin}
+_APP2SD_PLUGIN=ON
+%else
+_APP2SD_PLUGIN=OFF
+%endif
+
+%cmake . -DUNITDIR=%{_unitdir} \
+    -DTIZEN_FEATURE_APP2SD_PLUGIN:BOOL=${_APP2SD_PLUGIN}
 
 make %{?jobs:-j%jobs}
 
@@ -60,21 +79,26 @@ cp LICENSE %{buildroot}/usr/share/license/%{name}
 %manifest app2sd.manifest
 %defattr(-,root,root,-)
 %{_libdir}/libapp2ext.so.*
+%if 0%{?tizen_feature_app2sd_plugin}
 %{_libdir}/libapp2sd.so*
 %{_bindir}/app2sd-server
 %{_unitdir}/app2sd-server.service
 %{_datadir}/dbus-1/system-services/org.tizen.app2sd.service
 %config %{_sysconfdir}/dbus-1/system.d/org.tizen.app2sd.conf
+%endif
 /usr/share/license/%{name}
 
 %files devel
 %defattr(-,root,root,-)
 %{_includedir}/app2ext_interface.h
 %{_libdir}/pkgconfig/app2sd.pc
+%if 0%{?tizen_feature_app2sd_plugin}
 %{_libdir}/libapp2sd.so
+%endif
 %{_libdir}/libapp2ext.so
 
+%if 0%{?tizen_feature_app2sd_plugin}
 %files test
 %defattr(-,root,root,-)
 %{_bindir}/test_app2ext
-
+%endif
index c6f390a..526a4b5 100644 (file)
@@ -1,53 +1,37 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(app2sd C)
+# Required packages
+pkg_check_modules(app2sd_pkgs REQUIRED dlog pkgmgr-info gio-2.0 glib-2.0 db-util libtzplatform-config aul storage)
+pkg_check_modules(app2sd_libpkgs REQUIRED dlog pkgmgr-info gio-2.0 glib-2.0)
 
-### Required packages
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED libssl dlog openssl pkgmgr-info libtzplatform-config gio-2.0 glib-2.0 minizip aul)
-
-FOREACH(flag ${pkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+# Compiler flags
+FOREACH(flag ${app2sd_pkgs_CFLAGS})
+       SET(APP2SD_CFLAGS "${APP2SD_CFLAGS} ${flag}")
 ENDFOREACH(flag)
-
-pkg_check_modules(libpkgs REQUIRED libssl dlog openssl pkgmgr-info db-util gio-2.0 glib-2.0 minizip)
-
-FOREACH(flag ${libpkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+FOREACH(flag ${app2sd_libpkgs_CFLAGS})
+       SET(APP2SD_CFLAGS "${APP2SD_CFLAGS} ${flag}")
 ENDFOREACH(flag)
+SET(CMAKE_C_FLAGS "${EXTRA_CFLAGS} ${APP2SD_CFLAGS}")
 
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wno-unused-result")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-
-### Local include directories
+# Local include directories
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc
        ${CMAKE_SOURCE_DIR}/common/inc
        ${CMAKE_SOURCE_DIR}/plugin/app2sd/inc)
 
-SET(app2sd_dir "${CMAKE_SOURCE_DIR}/plugin/app2sd")
-SET(app2sd_src_dir "${app2sd_dir}/src")
-
-## build app2sd library
+# build app2sd library
 SET(APP2SD "app2sd")
+SET(app2sd_src_dir "${CMAKE_SOURCE_DIR}/plugin/app2sd/src")
 SET(libapp2sd_SOURCES
        ${app2sd_src_dir}/app2sd_client_interface.c
        ${CMAKE_SOURCE_DIR}/common/src/app2ext_utils.c)
-SET(libapp2sd_LDFLAGS " -L${LIB_INSTALL_DIR} -lcrypto -module -avoid-version ")
-SET(libapp2sd_CFLAGS  " ${CFLAGS} -fPIC ")
 
 ADD_LIBRARY(${APP2SD} SHARED ${libapp2sd_SOURCES})
 SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES SOVERSION ${VERSION_MAJOR})
 SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES COMPILE_FLAGS "${libapp2sd_CFLAGS}")
-TARGET_LINK_LIBRARIES(${APP2SD} ${libpkgs_LDFLAGS} "-lm")
-
-## devel package
-
-SET(CMAKE_INSTALL_PREFIX "/usr")
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC")
+TARGET_LINK_LIBRARIES(${APP2SD} ${app2sd_libpkgs_LDFLAGS})
 
 INSTALL(TARGETS ${APP2SD} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
 
-## build app2sd-server binary
+# build app2sd-server binary
 SET(APP2SD_SERVER "app2sd-server")
 SET(app2sd_server_SOURCES
        ${app2sd_src_dir}/app2sd_internals.c
@@ -59,7 +43,7 @@ SET(app2sd_server_SOURCES
 ADD_EXECUTABLE(${APP2SD_SERVER} ${app2sd_server_SOURCES})
 SET_TARGET_PROPERTIES(${APP2SD_SERVER} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE ")
 SET_TARGET_PROPERTIES(${APP2SD_SERVER} PROPERTIES LINK_FLAGS "-pie")
-TARGET_LINK_LIBRARIES(${APP2SD_SERVER} app2sd ${pkgs_LDFLAGS})
+TARGET_LINK_LIBRARIES(${APP2SD_SERVER} app2sd ${app2sd_pkgs_LDFLAGS} "-lm")
 
 CONFIGURE_FILE(org.tizen.app2sd.service.in org.tizen.app2sd.service @ONLY)
 CONFIGURE_FILE(org.tizen.app2sd.conf.in org.tizen.app2sd.conf @ONLY)
@@ -67,7 +51,7 @@ CONFIGURE_FILE(app2sd-server.service.in app2sd-server.service @ONLY)
 
 INSTALL(TARGETS ${APP2SD_SERVER} DESTINATION bin)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.app2sd.service DESTINATION
-       ${PREFIX}/share/dbus-1/system-services/)
+       ${CMAKE_INSTALL_PREFIX}/share/dbus-1/system-services/)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.tizen.app2sd.conf DESTINATION
        ${SYSCONF_INSTALL_DIR}/dbus-1/system.d/)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/app2sd-server.service DESTINATION ${UNITDIR})
index b0d8c93..a4aa897 100644 (file)
@@ -22,7 +22,6 @@
  */
 
 #include <dirent.h>
-#include <openssl/sha.h>
 #include <time.h>
 #include <pwd.h>
 
index 61705d0..ff6e65e 100644 (file)
@@ -1,32 +1,19 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(test_app2ext C)
+# Required packages
+pkg_check_modules(test_pkgs REQUIRED dlog zlib minizip storage glib-2.0)
 
-SET(SOURCE_DIR ${CMAKE_SOURCE_DIR})
-
-SET(SRCS
-       ${SOURCE_DIR}/test/src/test_app2ext.c
-)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED dlog)
-
-FOREACH(flag ${pkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+FOREACH(flag ${test_pkgs_CFLAGS})
+       SET(TEST_CFLAGS "${TEST_CFLAGS} ${flag}")
 ENDFOREACH(flag)
+SET(CMAKE_C_FLAGS "${EXTRA_CFLAGS} ${TEST_CFLAGS}")
 
-### Local include directories
+# Local include directories
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/inc)
 
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Werror")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
+SET(SRCS ${CMAKE_SOURCE_DIR}/test/src/test_app2ext.c)
 
 ADD_EXECUTABLE(test_app2ext ${SRCS})
-TARGET_LINK_LIBRARIES(test_app2ext app2ext ${pkgs_LDFLAGS})
+TARGET_LINK_LIBRARIES(test_app2ext app2ext ${test_pkgs_LDFLAGS})
 SET_TARGET_PROPERTIES(test_app2ext PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE")
 SET_TARGET_PROPERTIES(test_app2ext PROPERTIES LINK_FLAGS "-pie")
 
 INSTALL(TARGETS test_app2ext DESTINATION /usr/bin COMPONENT Runtime)
-