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