88c5da353b99a64644d0dbcf47662b6a829e126c
[scm/bb/meta-tizen.git] / meta-tizen-common-base / recipes-security / libprivilege-control / libprivilege-control.inc
1 DESCRIPTION = "Library to control privilege of application"
2 HOMEPAGE = "http://nohomepage.org"
3 SECTION = "Security/Access Control"
4 LICENSE = "Apache-2.0"
5 PV = "0.0.43.TIZEN"
6
7 SRC_URI = ""
8
9 S = "${WORKDIR}/git"
10
11 inherit manifest autotools-brokensep
12
13 BBCLASSEXTEND = ""
14 PROVIDES = ""
15
16 #PROVIDES by libprivilege-control
17
18
19 #PROVIDES by libprivilege-control-conf
20 PROVIDES += "libprivilege-control-conf"
21
22
23 #PROVIDES by libprivilege-control-dev
24 PROVIDES += "libprivilege-control-dev"
25
26
27 RDEPENDS = ""
28 #RDEPENDS of libprivilege-control-conf (${PN}-conf)
29 RDEPENDS_${PN}-conf += "libprivilege-control"
30
31 #RDEPENDS of libprivilege-control-dev (${PN}-dev)
32 RDEPENDS_${PN}-dev += "libprivilege-control"
33
34
35 DEPENDS = ""
36 #DEPENDS of libprivilege-control
37 inherit tizen_cmake
38 DEPENDS += "tizen-platform-config"
39 inherit pkgconfig
40 DEPENDS += "dlog"
41 DEPENDS += "libiri"
42 DEPENDS += "smack"
43 DEPENDS += "sqlite3"
44 DEPENDS += "libcap"
45
46 do_prep() {
47  cd ${S}
48  chmod -Rf a+rX,u+w,g-w,o-w ${S}
49  #setup -q
50  cp ${S}/packaging/libprivilege-control.manifest .
51  
52  
53 }
54 do_patch_append() {
55     bb.build.exec_func('do_prep', d)
56 }
57
58 do_configure() {
59 }
60
61 do_compile() {
62  cd ${S}
63  LANG=C
64  export LANG
65  unset DISPLAY
66  LD_AS_NEEDED=1; export LD_AS_NEEDED ;
67  
68  
69  export CFLAGS="${CFLAGS} -Wno-implicit-function-declaration"
70  
71    cmake \
72          -DCMAKE_VERBOSE_MAKEFILE=ON \
73          -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
74          -DCMAKE_INSTALL_LIBDIR:PATH=${prefix}/lib \
75          -DINCLUDE_INSTALL_DIR:PATH=${prefix}/include \
76          -DLIB_INSTALL_DIR:PATH=${prefix}/lib \
77          -DSYSCONF_INSTALL_DIR:PATH=${sysconfdir} \
78          -DSHARE_INSTALL_PREFIX:PATH=${prefix}/share \
79          -DCMAKE_SKIP_RPATH:BOOL=ON \
80          -DBUILD_SHARED_LIBS:BOOL=ON \
81          -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
82          ${EXTRA_OECMAKE} . -DCMAKE_BUILD_TYPE=RELEASE \
83           -DCMAKE_VERBOSE_MAKEFILE=ON \
84           -DTZ_SYS_DB=${prefix}/dbspace \
85           -DTZ_SYS_HOME=/home \
86           -DTZ_SYS_ETC=${sysconfdir} \
87           -DSYSTEMD_UNIT_DIR=${systemd_unitdir}/system
88  
89  VERBOSE=1 oe_runmake ${PARALLEL_MAKE}
90  
91  
92  
93 }
94
95 do_install() {
96  export RPM_BUILD_ROOT=${D}
97  cd ${S}
98  LANG=C
99  export LANG
100  unset DISPLAY
101  rm -rf ${D}
102  mkdir -p ${D}
103  
104  
105    oe_runmake \
106          DESTDIR=${D} \
107          INSTALL_ROOT=${D} \
108          BINDIR=${prefix}/bin \
109    install  
110    rm -f ${D}${infodir}/dir 
111    find ${D} -regex ".*\.la$" | xargs rm -f -- 
112    find ${D} -regex ".*\.a$" | xargs rm -f --
113  mkdir -p ${D}${prefix}/share/privilege-control/
114  mkdir -p ${D}${systemd_unitdir}/system/multi-user.target.wants
115  ln -sf ${systemd_unitdir}/system/smack-rules.service ${D}${systemd_unitdir}/system/multi-user.target.wants/smack-rules.service
116  mkdir -p ${D}${prefix}/dbspace
117  sed -i 's|TZ_SYS_DB|${prefix}/dbspace|g' ${S}/packaging/libprivilege-control.manifest
118  
119  
120 }
121
122 pkg_postinst_${PN}() {
123     #!/bin/sh -e
124
125     [ "x$D" == "x" ] && ldconfig
126     $D${prefix}/share/privilege-control/db/updater.sh
127     chsmack -a 'System' $D${prefix}/dbspace/.rules-db.db3*
128
129 }
130
131 pkg_postrm_${PN}() {
132     #!/bin/sh -e
133
134     [ "x$D" == "x" ] && ldconfig
135 }
136
137 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
138 PACKAGES += " libprivilege-control "
139 PACKAGES += " libprivilege-control-conf "
140 PACKAGES += " libprivilege-control-dev "
141
142 libprivilege-control_files = ""
143 libprivilege-control_files += "${prefix}/lib/*.so.*"
144 libprivilege-control_files += "${prefix}/lib/librules-db-sql-udf.so"
145 libprivilege-control_files += "${systemd_unitdir}/system/smack-rules.service"
146 libprivilege-control_files += "${prefix}/bin/api_feature_loader"
147 libprivilege-control_files += "${systemd_unitdir}/system/multi-user.target.wants/smack-rules.service"
148 libprivilege-control_files += "${prefix}/share/privilege-control/db/rules-db.sql"
149 libprivilege-control_files += "${prefix}/share/privilege-control/db/rules-db-data.sql"
150 libprivilege-control_files += "${prefix}/share/privilege-control/db/updater.sh"
151 libprivilege-control_files += "${prefix}/share/privilege-control/db/updates/*"
152 libprivilege-control_files += "${prefix}/share/privilege-control/db/load-rules-db.sql"
153 libprivilege-control_files += "${sysconfdir}/opt/upgrade/220.libprivilege-updater.patch.sh"
154 libprivilege-control_files += "%dir ${prefix}/dbspace"
155 MANIFESTFILES_${PN} = "libprivilege-control.manifest"
156
157 libprivilege-control-conf_files = ""
158 libprivilege-control-conf_files += "${prefix}/dbspace/.privilege_control*.db"
159 MANIFESTFILES_${PN}-conf = "libprivilege-control.manifest"
160
161 libprivilege-control-dev_files = ""
162 libprivilege-control-dev_files += "${prefix}/include/*.h"
163 libprivilege-control-dev_files += "${prefix}/lib/*.so"
164 libprivilege-control-dev_files += "${prefix}/lib/pkgconfig/*.pc"
165 MANIFESTFILES_${PN}-dev = "libprivilege-control.manifest"
166
167 FILES_${PN} = "${libprivilege-control_files}"
168 FILES_${PN}-conf = "${libprivilege-control-conf_files}"
169 FILES_${PN}-dev = "${libprivilege-control-dev_files}"
170
171 PKG_libprivilege-control= "libprivilege-control"
172 PKG_libprivilege-control-conf= "libprivilege-control-conf"
173 PKG_libprivilege-control-dev= "libprivilege-control-dev"
174
175 require libprivilege-control-extraconf.inc
176