aboutsummaryrefslogtreecommitdiffstats
path: root/meta-application-manager/recipes-others/libprivilege-control
diff options
context:
space:
mode:
Diffstat (limited to 'meta-application-manager/recipes-others/libprivilege-control')
-rw-r--r--meta-application-manager/recipes-others/libprivilege-control/libprivilege-control-extraconf.inc9
-rw-r--r--meta-application-manager/recipes-others/libprivilege-control/libprivilege-control.inc176
-rw-r--r--meta-application-manager/recipes-others/libprivilege-control/libprivilege-control/missing_header.patch25
-rw-r--r--meta-application-manager/recipes-others/libprivilege-control/libprivilege-control/remove-dlog-for-native-build.patch55
-rw-r--r--meta-application-manager/recipes-others/libprivilege-control/libprivilege-control_git.bb10
5 files changed, 275 insertions, 0 deletions
diff --git a/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control-extraconf.inc b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control-extraconf.inc
new file mode 100644
index 0000000..ff3f0af
--- /dev/null
+++ b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control-extraconf.inc
@@ -0,0 +1,9 @@
+do_configure() {
+ sed -i 's@source /etc/tizen-platform.conf@source ${STAGING_DIR_NATIVE}/etc/tizen-platform.conf@' ${S}/db/updater.sh
+}
+CFLAGS += " -Wno-implicit-function-declaration"
+
+DEPENDS_remove_class-native = "dlog-native"
+
+SRC_URI_append_class-native = " file://remove-dlog-for-native-build.patch"
+SRC_URI_append_class-native = " file://missing_header.patch"
diff --git a/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control.inc b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control.inc
new file mode 100644
index 0000000..16e206f
--- /dev/null
+++ b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control.inc
@@ -0,0 +1,176 @@
+DESCRIPTION = "Library to control privilege of application"
+HOMEPAGE = "http://nohomepage.org"
+SECTION = "Security/Access Control"
+LICENSE = "Apache-2.0"
+PV = "0.0.43.TIZEN"
+
+SRC_URI = ""
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+BBCLASSEXTEND = ""
+PROVIDES = ""
+
+#PROVIDES by libprivilege-control
+
+
+#PROVIDES by libprivilege-control-conf
+PROVIDES += "libprivilege-control-conf"
+
+
+#PROVIDES by libprivilege-control-dev
+PROVIDES += "libprivilege-control-dev"
+
+
+RDEPENDS = ""
+#RDEPENDS of libprivilege-control-conf (${PN}-conf)
+RDEPENDS_${PN}-conf += "libprivilege-control"
+
+#RDEPENDS of libprivilege-control-dev (${PN}-dev)
+RDEPENDS_${PN}-dev += "libprivilege-control"
+
+
+DEPENDS = ""
+#DEPENDS of libprivilege-control
+inherit tizen_cmake
+DEPENDS += "tizen-platform-config"
+inherit pkgconfig
+DEPENDS += "dlog"
+DEPENDS += "libiri"
+DEPENDS += "smack"
+DEPENDS += "sqlite3"
+DEPENDS += "libcap"
+
+do_prep() {
+ cd ${S}
+ chmod -Rf a+rX,u+w,g-w,o-w ${S}
+ #setup -q
+ cp ${S}/packaging/libprivilege-control.manifest .
+
+
+}
+do_patch_append() {
+ bb.build.exec_func('do_prep', d)
+}
+
+do_configure() {
+}
+
+do_compile() {
+ cd ${S}
+ LANG=C
+ export LANG
+ unset DISPLAY
+ LD_AS_NEEDED=1; export LD_AS_NEEDED ;
+
+
+ export CFLAGS="${CFLAGS} -Wno-implicit-function-declaration"
+
+ cmake \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
+ -DCMAKE_INSTALL_LIBDIR:PATH=${prefix}/lib \
+ -DINCLUDE_INSTALL_DIR:PATH=${prefix}/include \
+ -DLIB_INSTALL_DIR:PATH=${prefix}/lib \
+ -DSYSCONF_INSTALL_DIR:PATH=${sysconfdir} \
+ -DSHARE_INSTALL_PREFIX:PATH=${prefix}/share \
+ -DCMAKE_SKIP_RPATH:BOOL=ON \
+ -DBUILD_SHARED_LIBS:BOOL=ON \
+ -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
+ ${EXTRA_OECMAKE} . -DCMAKE_BUILD_TYPE=RELEASE \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ -DTZ_SYS_DB=${prefix}/dbspace \
+ -DTZ_SYS_HOME=/home \
+ -DTZ_SYS_ETC=${sysconfdir} \
+ -DSYSTEMD_UNIT_DIR=${systemd_unitdir}/system
+
+ VERBOSE=1 oe_runmake ${PARALLEL_MAKE}
+
+
+
+}
+
+do_install() {
+ export RPM_BUILD_ROOT=${D}
+ cd ${S}
+ LANG=C
+ export LANG
+ unset DISPLAY
+ rm -rf ${D}
+ mkdir -p ${D}
+
+
+ oe_runmake \
+ DESTDIR=${D} \
+ INSTALL_ROOT=${D} \
+ BINDIR=${prefix}/bin \
+ install
+ rm -f ${D}${infodir}/dir
+ find ${D} -regex ".*\.la$" | xargs rm -f --
+ find ${D} -regex ".*\.a$" | xargs rm -f --
+ mkdir -p ${D}${prefix}/share/privilege-control/
+ mkdir -p ${D}${systemd_unitdir}/system/multi-user.target.wants
+ ln -sf ${systemd_unitdir}/system/smack-rules.service ${D}${systemd_unitdir}/system/multi-user.target.wants/smack-rules.service
+ mkdir -p ${D}${prefix}/dbspace
+ sed -i 's|TZ_SYS_DB|${prefix}/dbspace|g' ${S}/packaging/libprivilege-control.manifest
+
+
+}
+
+pkg_postinst_${PN}() {
+ #!/bin/sh -e
+
+ [ "x$D" == "x" ] && ldconfig
+ $D${prefix}/share/privilege-control/db/updater.sh
+ chsmack -a 'System' $D${prefix}/dbspace/.rules-db.db3*
+
+}
+
+pkg_postrm_${PN}() {
+ #!/bin/sh -e
+
+ [ "x$D" == "x" ] && ldconfig
+}
+
+PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
+PACKAGES += " libprivilege-control "
+PACKAGES += " libprivilege-control-conf "
+PACKAGES += " libprivilege-control-dev "
+
+libprivilege-control_files = ""
+libprivilege-control_files += "${prefix}/lib/*.so.*"
+libprivilege-control_files += "${prefix}/lib/librules-db-sql-udf.so"
+libprivilege-control_files += "${systemd_unitdir}/system/smack-rules.service"
+libprivilege-control_files += "${prefix}/bin/api_feature_loader"
+libprivilege-control_files += "${systemd_unitdir}/system/multi-user.target.wants/smack-rules.service"
+libprivilege-control_files += "${prefix}/share/privilege-control/db/rules-db.sql"
+libprivilege-control_files += "${prefix}/share/privilege-control/db/rules-db-data.sql"
+libprivilege-control_files += "${prefix}/share/privilege-control/db/updater.sh"
+libprivilege-control_files += "${prefix}/share/privilege-control/db/updates/*"
+libprivilege-control_files += "${prefix}/share/privilege-control/db/load-rules-db.sql"
+libprivilege-control_files += "${sysconfdir}/opt/upgrade/220.libprivilege-updater.patch.sh"
+libprivilege-control_files += "%dir ${prefix}/dbspace"
+MANIFESTFILES_${PN} = "libprivilege-control.manifest"
+
+libprivilege-control-conf_files = ""
+libprivilege-control-conf_files += "${prefix}/dbspace/.privilege_control*.db"
+MANIFESTFILES_${PN}-conf = "libprivilege-control.manifest"
+
+libprivilege-control-dev_files = ""
+libprivilege-control-dev_files += "${prefix}/include/*.h"
+libprivilege-control-dev_files += "${prefix}/lib/*.so"
+libprivilege-control-dev_files += "${prefix}/lib/pkgconfig/*.pc"
+MANIFESTFILES_${PN}-dev = "libprivilege-control.manifest"
+
+FILES_${PN} = "${libprivilege-control_files}"
+FILES_${PN}-conf = "${libprivilege-control-conf_files}"
+FILES_${PN}-dev = "${libprivilege-control-dev_files}"
+
+PKG_libprivilege-control= "libprivilege-control"
+PKG_libprivilege-control-conf= "libprivilege-control-conf"
+PKG_libprivilege-control-dev= "libprivilege-control-dev"
+
+require libprivilege-control-extraconf.inc
+
diff --git a/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control/missing_header.patch b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control/missing_header.patch
new file mode 100644
index 0000000..14e8b07
--- /dev/null
+++ b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control/missing_header.patch
@@ -0,0 +1,25 @@
+diff --git a/include/common.h b/include/common.h
+index 07894d9..f7243fe 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -23,6 +23,7 @@
+ #define COMMON_H_
+
+ #include <stdio.h>
++#include <string.h>
+ #include <fts.h>
+ #include <stdbool.h>
+ #include <sys/smack.h>
+diff --git a/src/privilege-control.c b/src/privilege-control.c
+index 39cf437..4815262 100644
+--- a/src/privilege-control.c
++++ b/src/privilege-control.c
+@@ -38,6 +38,8 @@
+ #include <sys/smack.h>
+ #include <linux/capability.h>
+ #include <linux/xattr.h>
++#include <attr/xattr.h>
++#include <stdarg.h>
+ #include <sys/capability.h>
+ #include <sys/mman.h>
+ #include <stdbool.h>
diff --git a/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control/remove-dlog-for-native-build.patch b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control/remove-dlog-for-native-build.patch
new file mode 100644
index 0000000..12c761e
--- /dev/null
+++ b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control/remove-dlog-for-native-build.patch
@@ -0,0 +1,55 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e2d4439..51dd041 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -14,7 +14,7 @@ SET(VERSION "${VERSION_MAJOR}.0.2")
+ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+
+ INCLUDE(FindPkgConfig)
+-pkg_check_modules(pkgs REQUIRED libsmack libiri dlog sqlite3 libtzplatform-config)
++pkg_check_modules(pkgs REQUIRED libsmack libiri sqlite3 libtzplatform-config)
+
+ FOREACH(flag ${pkgs_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+@@ -25,7 +25,7 @@ ENDFOREACH(flag)
+ # will be expanded to empty instruction.
+
+ SET(CMAKE_C_FLAGS_CCOV "--coverage")
+-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb -DDLOG_DEBUG_ENABLED -DTIZEN_DEBUG_ENABLE")
++SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -ggdb -DTIZEN_DEBUG_ENABLE")
+ SET(CMAKE_C_FLAGS_RELEASE "-O2 -g")
+
+ SET(src_dir "./src")
+@@ -39,8 +39,6 @@ ADD_DEFINITIONS("-DHOMEDIR=${HOMEDIR}")
+ ADD_DEFINITIONS("-DLIBDIR=\"${LIB_INSTALL_DIR}\"")
+ ADD_DEFINITIONS("-Wall -Werror -Wextra")
+
+-ADD_DEFINITIONS("-DDLOG_WARN_ENABLED")
+-ADD_DEFINITIONS("-DDLOG_ERROR_ENABLED")
+
+ ###################################################################################################
+ ## for libprivilege-control.so (library)
+diff --git a/include/common.h b/include/common.h
+index a0bc6ef..07894d9 100644
+--- a/include/common.h
++++ b/include/common.h
+@@ -23,7 +23,6 @@
+ #define COMMON_H_
+
+ #include <stdio.h>
+-#include <dlog.h>
+ #include <fts.h>
+ #include <stdbool.h>
+ #include <sys/smack.h>
+diff --git a/src/access-db.c b/src/access-db.c
+index de8bb1b..15123e2 100644
+--- a/src/access-db.c
++++ b/src/access-db.c
+@@ -25,7 +25,6 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <sys/smack.h>
+-#include <dlog.h>
+ #include <ctype.h>
+ #include <tzplatform_config.h>
+
diff --git a/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control_git.bb b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control_git.bb
new file mode 100644
index 0000000..73a611c
--- /dev/null
+++ b/meta-application-manager/recipes-others/libprivilege-control/libprivilege-control_git.bb
@@ -0,0 +1,10 @@
+require libprivilege-control.inc
+
+PRIORITY = "10"
+
+LIC_FILES_CHKSUM ??= "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+SRC_URI += "git://review.tizen.org/platform/core/security/libprivilege-control;tag=e613fc4d3632b7cc79187ade3186d1e07ec79170;nobranch=1"
+
+BBCLASSEXTEND += " native "
+