Fix potential issue in LDFLAGS export
[scm/bb/meta-tizen.git] / meta-tizen-common-base / recipes-security / security-manager / security-manager.inc
1 DESCRIPTION = "Security manager and utilities"
2 HOMEPAGE = "http://nohomepage.org"
3 SECTION = "Security/Service"
4 LICENSE = "Apache-2.0"
5 PV = "0.2.0"
6
7 SRC_URI = ""
8
9 S = "${WORKDIR}/git"
10
11 inherit manifest autotools-brokensep
12
13 BBCLASSEXTEND = ""
14 PROVIDES = ""
15
16 #PROVIDES by security-manager
17
18
19 #PROVIDES by libsecurity-manager-client
20 PROVIDES += "libsecurity-manager-client"
21
22
23 #PROVIDES by libsecurity-manager-client-dev
24 PROVIDES += "libsecurity-manager-client-dev"
25
26
27 RDEPENDS = ""
28 #RDEPENDS of security-manager (${PN})
29 RDEPENDS_${PN} += "smack"
30 RDEPENDS_${PN} += "systemd"
31
32 #RDEPENDS of libsecurity-manager-client (lib${PN}-client)
33 RDEPENDS_lib${PN}-client += "security-manager"
34 RDEPENDS_lib${PN}-client += "glibc"
35
36 #RDEPENDS of libsecurity-manager-client-dev (lib${PN}-client-dev)
37 RDEPENDS_lib${PN}-client-dev += "libsecurity-manager-client"
38
39
40 DEPENDS = ""
41 #DEPENDS of security-manager
42 DEPENDS += "systemd"
43 inherit tizen_cmake
44 DEPENDS += "attr"
45 DEPENDS += "zip"
46 DEPENDS += "boost"
47 DEPENDS += "tizen-platform-config"
48 inherit pkgconfig
49 DEPENDS += "smack"
50 DEPENDS += "libcynara-client"
51 DEPENDS += "sqlite3"
52 DEPENDS += "libcap"
53 DEPENDS += "libcynara-admin"
54 DEPENDS += "libslp-db-util"
55 DEPENDS += "libcap"
56
57 do_prep() {
58  cd ${S}
59  chmod -Rf a+rX,u+w,g-w,o-w ${S}
60  #setup -q
61  cp ${S}/packaging/security-manager.manifest .
62  cp ${S}/packaging/libsecurity-manager-client.manifest .
63  
64  
65 }
66 do_patch_append() {
67     bb.build.exec_func('do_prep', d)
68 }
69
70 do_configure() {
71 }
72
73 do_compile() {
74  cd ${S}
75  LANG=C
76  export LANG
77  unset DISPLAY
78  LD_AS_NEEDED=1; export LD_AS_NEEDED ;
79  
80  
81  export LDFLAGS=" ${LDFLAGS} -Wl,--rpath=${prefix}/lib "
82  
83  
84    cmake \
85          -DCMAKE_VERBOSE_MAKEFILE=ON \
86          -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
87          -DCMAKE_INSTALL_LIBDIR:PATH=${prefix}/lib \
88          -DINCLUDE_INSTALL_DIR:PATH=${prefix}/include \
89          -DLIB_INSTALL_DIR:PATH=${prefix}/lib \
90          -DSYSCONF_INSTALL_DIR:PATH=${sysconfdir} \
91          -DSHARE_INSTALL_PREFIX:PATH=${prefix}/share \
92          -DCMAKE_SKIP_RPATH:BOOL=ON \
93          -DBUILD_SHARED_LIBS:BOOL=ON \
94          -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
95          ${EXTRA_OECMAKE} . -DVERSION=0.2.0 \
96          -DBIN_INSTALL_DIR=${prefix}/bin \
97          -DDB_INSTALL_DIR=${prefix}/dbspace \
98          -DSYSTEMD_INSTALL_DIR=${systemd_unitdir}/system \
99          -DCMAKE_BUILD_TYPE=RELEASE \
100          -DCMAKE_VERBOSE_MAKEFILE=ON
101  oe_runmake
102  
103  
104  
105 }
106
107 do_install() {          
108  export RPM_BUILD_ROOT=${D}
109  cd ${S}
110  LANG=C
111  export LANG
112  unset DISPLAY
113  rm -rf ${D}
114  mkdir -p ${D}
115  
116  rm -rf ${D}
117  mkdir -p ${D}/usr/share/license
118  cp LICENSE ${D}/usr/share/license/security-manager
119  cp LICENSE ${D}/usr/share/license/libsecurity-manager-client
120  mkdir -p ${D}/${sysconfdir}/smack
121  cp app-rules-template.smack ${D}/${sysconfdir}/smack
122  
123    oe_runmake \
124          DESTDIR=${D} \
125          INSTALL_ROOT=${D} \
126          BINDIR=${prefix}/bin \
127    install  
128    rm -f ${D}${infodir}/dir 
129    find ${D} -regex ".*\.la$" | xargs rm -f -- 
130    find ${D} -regex ".*\.a$" | xargs rm -f --
131  
132  mkdir -p ${D}/${systemd_unitdir}/system/multi-user.target.wants
133  mkdir -p ${D}/${systemd_unitdir}/system/sockets.target.wants
134  ln -s ../security-manager.service ${D}/${systemd_unitdir}/system/multi-user.target.wants/security-manager.service
135  ln -s ../security-manager.socket ${D}/${systemd_unitdir}/system/sockets.target.wants/security-manager.socket
136  
137  
138 }
139
140 pkg_postinst_libsecurity-manager-client() {
141     #!/bin/sh -e
142
143     [ "x$D" == "x" ] && ldconfig
144 }
145
146 pkg_postinst_${PN}() {
147     #!/bin/sh -e
148
149     [ "x$D" == "x" ] && ldconfig
150     systemctl daemon-reload
151     if [ $1 = 1 ]; then
152         # installation
153         systemctl start security-manager.service
154     fi
155     if [ $1 = 2 ]; then
156         # update
157         systemctl restart security-manager.service
158     fi
159     chsmack -a System $D${prefix}/dbspace/.security-manager.db
160     chsmack -a System $D${prefix}/dbspace/.security-manager.db-journal
161
162 }
163
164 pkg_prerm_${PN}() {
165     #!/bin/sh -e
166
167     if [ $1 = 0 ]; then
168         # unistall
169         systemctl stop security-manager.service
170     fi
171
172 }
173
174 pkg_postrm_libsecurity-manager-client() {
175     #!/bin/sh -e
176
177     [ "x$D" == "x" ] && ldconfig
178 }
179
180 pkg_postrm_${PN}() {
181     #!/bin/sh -e
182
183     [ "x$D" == "x" ] && ldconfig
184     if [ $1 = 0 ]; then
185         # unistall
186         systemctl daemon-reload
187     fi
188
189 }
190
191 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
192 PACKAGES += " security-manager "
193 PACKAGES += " libsecurity-manager-client "
194 PACKAGES += " libsecurity-manager-client-dev "
195
196 security-manager_files = ""
197 security-manager_files += "${prefix}/bin/security-manager"
198 security-manager_files += "${prefix}/lib/libsecurity-manager-commons.so.*"
199 security-manager_files += "${systemd_unitdir}/system/multi-user.target.wants/security-manager.service"
200 security-manager_files += "${systemd_unitdir}/system/security-manager.service"
201 security-manager_files += "${systemd_unitdir}/system/security-manager.target"
202 security-manager_files += "${systemd_unitdir}/system/sockets.target.wants/security-manager.socket"
203 security-manager_files += "${systemd_unitdir}/system/security-manager.socket"
204 security-manager_files += "${sysconfdir}/smack/app-rules-template.smack"
205 security-manager_files += "%attr(0600,root,root) ${prefix}/dbspace/.security-manager.db"
206 security-manager_files += "%attr(0600,root,root) ${prefix}/dbspace/.security-manager.db-journal"
207 security-manager_files += "${prefix}/share/license/security-manager"
208 MANIFESTFILES_${PN} = "security-manager.manifest"
209
210 libsecurity-manager-client_files = ""
211 libsecurity-manager-client_files += "${prefix}/lib/libsecurity-manager-client.so.*"
212 libsecurity-manager-client_files += "${prefix}/share/license/libsecurity-manager-client"
213 MANIFESTFILES_lib${PN}-client = "libsecurity-manager-client.manifest"
214
215 libsecurity-manager-client-dev_files = ""
216 libsecurity-manager-client-dev_files += "${prefix}/lib/libsecurity-manager-client.so"
217 libsecurity-manager-client-dev_files += "${prefix}/lib/libsecurity-manager-commons.so"
218 libsecurity-manager-client-dev_files += "${prefix}/include/security-manager/security-manager.h"
219 libsecurity-manager-client-dev_files += "${prefix}/lib/pkgconfig/security-manager.pc"
220 MANIFESTFILES_lib${PN}-client-dev = "security-manager.manifest"
221
222 FILES_${PN} = "${security-manager_files}"
223 FILES_lib${PN}-client = "${libsecurity-manager-client_files}"
224 FILES_lib${PN}-client-dev = "${libsecurity-manager-client-dev_files}"
225
226 PKG_security-manager= "security-manager"
227 PKG_libsecurity-manager-client= "libsecurity-manager-client"
228 PKG_libsecurity-manager-client-dev= "libsecurity-manager-client-dev"
229
230 require security-manager-extraconf.inc
231