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)
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
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
%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}
%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
-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
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)
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})
*/
#include <dirent.h>
-#include <openssl/sha.h>
#include <time.h>
#include <pwd.h>
-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)
-