f76050d25b1fd4118afae98f155dc4cdbcfe8103
[scm/bb/meta-tizen.git] / recipes-tizen / privacy-manager / privacy-manager.inc
1 DESCRIPTION = "Privacy Management"
2 HOMEPAGE = "http://nohomepage.org"
3 SECTION = "Security/Libraries"
4 LICENSE = "Apache-2.0"
5
6 SRC_URI = ""
7
8 S = "${WORKDIR}/git"
9
10 inherit autotools-brokensep
11
12 BBCLASSEXTEND = ""
13 PROVIDES = ""
14
15 #PROVIDES by privacy-manager-client
16
17
18 #PROVIDES by privacy-manager-server
19
20
21 #PROVIDES by privacy-manager-server-dev
22
23
24 #PROVIDES by capi-security-privacy-manager
25
26
27 #PROVIDES by privacy-manager-client-dev
28
29
30 #PROVIDES by capi-security-privacy-manager-dev
31
32
33 RDEPENDS = ""
34 #RDEPENDS of privacy-manager-client (${PN}-client)
35 RDEPENDS_${PN}-client += "privacy-manager-server"
36
37 #RDEPENDS of privacy-manager-server (${PN}-server)
38 RDEPENDS_${PN}-server += "eglibc"
39
40 #RDEPENDS of privacy-manager-server-dev (${PN}-server-dev)
41 RDEPENDS_${PN}-server-dev += "privacy-manager-server"
42
43 #RDEPENDS of capi-security-privacy-manager (capi-security-${PN})
44 RDEPENDS_capi-security-${PN} += "privacy-manager-client"
45
46 #RDEPENDS of privacy-manager-client-dev (${PN}-client-dev)
47 RDEPENDS_${PN}-client-dev += "privacy-manager-client"
48
49 #RDEPENDS of capi-security-privacy-manager-dev (capi-security-${PN}-dev)
50 RDEPENDS_capi-security-${PN}-dev += "capi-security-privacy-manager"
51
52
53 DEPENDS = ""
54 #DEPENDS of privacy-manager-server
55 DEPENDS += "pkgmgr-info"
56 #Replace "DEPENDS" on gettext by "inherit gettext"
57 inherit gettext
58 DEPENDS_append_class-native = " cmake-native"
59 DEPENDS_append_class-target = " cmake-native"
60 DEPENDS += "libxml2"
61 DEPENDS += "dbus"
62 DEPENDS += "dlog"
63 DEPENDS += "glib-2.0"
64 DEPENDS += "system-info"
65 DEPENDS += "common"
66 DEPENDS += "sqlite3"
67 DEPENDS += "tizen-platform-config"
68 DEPENDS += "libslp-db-util"
69
70 do_prep() {
71  cd ${S}
72  chmod -Rf a+rX,u+w,g-w,o-w ${S}
73  #setup -q
74  cp ${S}/packaging/privacy-manager-server.manifest .
75  cp ${S}/packaging/privacy-manager-server-devel.manifest .
76  cp ${S}/packaging/privacy-manager-client.manifest .
77  cp ${S}/packaging/privacy-manager-client-devel.manifest .
78  cp ${S}/packaging/capi-security-privacy-manager.manifest .
79  cp ${S}/packaging/capi-security-privacy-manager-devel.manifest .
80  
81  
82 }
83 do_patch_append() {
84     bb.build.exec_func('do_prep', d)
85 }
86
87 do_configure() {
88 }
89
90 do_compile() {
91  cd ${S}
92  LANG=C
93  export LANG
94  unset DISPLAY
95  CFLAGS="-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables" ; export CFLAGS ;
96  CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ;
97  FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -I%_fmoddir}" ; export FFLAGS ;
98  LD_AS_NEEDED=1; export LD_AS_NEEDED ;
99  
100  
101  
102    CFLAGS="${CFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CFLAGS ; 
103    CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ; 
104    FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export FFLAGS ; 
105    cmake \
106          -DCMAKE_VERBOSE_MAKEFILE=ON \
107          -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
108          -DCMAKE_INSTALL_LIBDIR:PATH=${prefix}/lib \
109          -DINCLUDE_INSTALL_DIR:PATH=${prefix}/include \
110          -DLIB_INSTALL_DIR:PATH=${prefix}/lib \
111          -DSYSCONF_INSTALL_DIR:PATH=${sysconfdir} \
112          -DSHARE_INSTALL_PREFIX:PATH=${prefix}/share \
113          -DCMAKE_SKIP_RPATH:BOOL=ON \
114          -DBUILD_SHARED_LIBS:BOOL=ON . -DPREFIX=${prefix} \
115          -DEXEC_PREFIX=${prefix} \
116          -DLIBDIR=${prefix}/lib \
117          -DINCLUDEDIR=${prefix}/include \
118          -DCMAKE_BUILD_TYPE="Release" \
119          -DVERSION=0.0.4 \
120          -DFILTER_LISTED_PKG=ON \
121          -DPRIVACY_POPUP=OFF
122  make -j16
123  
124  
125  
126 }
127
128 do_install() {
129  echo export RPM_BUILD_ROOT=${D}
130  cd ${S}
131  LANG=C
132  export LANG
133  unset DISPLAY
134  rm -rf ${D}
135  mkdir -p ${D}
136  
137  mkdir -p ${D}${prefix}/bin
138  cp res/usr/bin/* ${D}${prefix}/bin/
139  mkdir -p ${D}/usr/dbspace
140  cp res/opt/dbspace/.privacylist.db /${D}/usr/dbspace
141  mkdir -p ${D}${prefix}/share/privacy-manager/
142  cp res/usr/share/privacy-manager/privacy-filter-list.ini ${D}${prefix}/share/privacy-manager/
143  
144  
145    oe_runmake \
146          DESTDIR=${D} \
147          INSTALL_ROOT=${D} \
148          BINDIR=${prefix}/bin \
149    install  
150    rm -f ${D}${infodir}/dir 
151    find ${D} -regex ".*\.la$" | xargs rm -f -- 
152    find ${D} -regex ".*\.a$" | xargs rm -f --
153  
154  mkdir -p ${D}${prefix}/lib/systemd/system/multi-user.target.wants
155  #install -m 0644 ${S}/packaging/privacy-manager-server.service ${D}${prefix}/lib/systemd/system/privacy-manager-server.service
156  #ln -sf /usr/lib/systemd/system/privacy-manager-server.service ${D}${prefix}/lib/systemd/system/multi-user.target.wants/privacy-manager-server.service
157  
158  
159  
160 }
161
162 pkg_postinst_privacy-manager-client() {
163     #!/bin/sh -e
164
165     /sbin/ldconfig
166 }
167
168 pkg_postinst_privacy-manager-server() {
169     #!/bin/sh -e
170
171     /sbin/ldconfig
172     echo "Check privacy DB"
173     if [ ! -f /usr/dbspace/.privacy.db ]
174     then
175         echo "Create privacy DB"
176         ${prefix}/bin/privacy_manager_create_clean_db.sh
177     fi
178     chsmack -a 'User' /usr/dbspace/.privacy.db*
179
180 }
181
182 pkg_postinst_capi-security-privacy-manager() {
183     #!/bin/sh -e
184
185     /sbin/ldconfig
186 }
187
188 pkg_postrm_${PN}() {
189     #!/bin/sh -e
190
191     /sbin/ldconfig
192 }
193
194 pkg_postrm_capi-security-privacy-manager() {
195     #!/bin/sh -e
196
197     /sbin/ldconfig
198 }
199
200 pkg_postrm_privacy-manager-client() {
201     #!/bin/sh -e
202
203     /sbin/ldconfig
204 }
205
206 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
207 PACKAGES += " privacy-manager-client "
208 PACKAGES += " privacy-manager-server "
209 PACKAGES += " privacy-manager-server-dev "
210 PACKAGES += " capi-security-privacy-manager "
211 PACKAGES += " privacy-manager-client-dev "
212 PACKAGES += " capi-security-privacy-manager-dev "
213
214 privacy-manager-client_files = ""
215 privacy-manager-client_files += "privacy-manager-client.manifest"
216 privacy-manager-client_files += "${prefix}/lib/libprivacy-manager-client.so*"
217 privacy-manager-client_files += "${prefix}/share/privacy-manager/privacy-filter-list.ini"
218 privacy-manager-client_files += "${sysconfdir}/package-manager/parserlib/libprivileges.so"
219
220 privacy-manager-server_files = ""
221 privacy-manager-server_files += "privacy-manager-server.manifest"
222 privacy-manager-server_files += "${prefix}/lib/libprivacy-manager-server.so*"
223 privacy-manager-server_files += "/usr/dbspace/.privacylist.db"
224 privacy-manager-server_files += "/usr/bin/*"
225
226 privacy-manager-server-dev_files = ""
227 privacy-manager-server-dev_files += "${prefix}/include/privacy_manager/server/privacy_manager_daemon.h"
228 privacy-manager-server-dev_files += "${prefix}/lib/pkgconfig/privacy-manager-server.pc"
229
230 capi-security-privacy-manager_files = ""
231 capi-security-privacy-manager_files += "${prefix}/lib/libcapi-security-privacy-manager.so.*"
232 capi-security-privacy-manager_files += "capi-security-privacy-manager.manifest"
233
234 privacy-manager-client-dev_files = ""
235 privacy-manager-client-dev_files += "privacy-manager-client-devel.manifest"
236 privacy-manager-client-dev_files += "${prefix}/include/*"
237 privacy-manager-client-dev_files += "${prefix}/lib/pkgconfig/privacy-manager-client.pc"
238
239 capi-security-privacy-manager-dev_files = ""
240 capi-security-privacy-manager-dev_files += "capi-security-privacy-manager-devel.manifest"
241 capi-security-privacy-manager-dev_files += "${prefix}/include/privacymgr/*.h"
242 capi-security-privacy-manager-dev_files += "${prefix}/lib/libcapi-security-privacy-manager.so"
243 capi-security-privacy-manager-dev_files += "${prefix}/lib/pkgconfig/capi-security-privacy-manager.pc"
244
245 FILES_${PN}-client = "${privacy-manager-client_files}"
246 FILES_${PN}-server = "${privacy-manager-server_files}"
247 FILES_${PN}-server-dev = "${privacy-manager-server-dev_files}"
248 FILES_capi-security-${PN} = "${capi-security-privacy-manager_files}"
249 FILES_${PN}-client-dev = "${privacy-manager-client-dev_files}"
250 FILES_capi-security-${PN}-dev = "${capi-security-privacy-manager-dev_files}"
251
252 PKG_privacy-manager-client= "privacy-manager-client"
253 PKG_privacy-manager-server= "privacy-manager-server"
254 PKG_privacy-manager-server-dev= "privacy-manager-server-dev"
255 PKG_capi-security-privacy-manager= "capi-security-privacy-manager"
256 PKG_privacy-manager-client-dev= "privacy-manager-client-dev"
257 PKG_capi-security-privacy-manager-dev= "capi-security-privacy-manager-dev"
258
259 require privacy-manager-extraconf.inc
260