248d34bbda1c8f58eb75ddee52301d8f2eed8f43
[scm/bb/meta-tizen.git] / recipes-tizen / security-server / security-server.inc
1 DESCRIPTION = "Security server and utilities"
2 HOMEPAGE = "http://nohomepage.org"
3 SECTION = "Security/Service"
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 libsecurity-manager-client
16
17
18 #PROVIDES by security-server
19
20
21 #PROVIDES by libsecurity-server-client
22
23
24 #PROVIDES by libsecurity-server-client-dev
25
26
27 #PROVIDES by libsecurity-manager-client-dev
28
29
30 #PROVIDES by security-server-dev
31
32
33 #PROVIDES by security-server-certs
34
35
36 RDEPENDS = ""
37 #RDEPENDS of libsecurity-manager-client (libsecurity-manager-client)
38 RDEPENDS_libsecurity-manager-client += "eglibc"
39 RDEPENDS_libsecurity-manager-client += "security-server"
40
41 #RDEPENDS of libsecurity-server-client-dev (lib${PN}-client-dev)
42 RDEPENDS_lib${PN}-client-dev += "libprivilege-control-dev"
43 RDEPENDS_lib${PN}-client-dev += "libsecurity-server-client"
44
45 #RDEPENDS of libsecurity-server-client (lib${PN}-client)
46 RDEPENDS_lib${PN}-client += "eglibc"
47 RDEPENDS_lib${PN}-client += "security-server"
48
49 #RDEPENDS of security-server (${PN})
50 RDEPENDS_${PN} += "systemd"
51
52 #RDEPENDS of libsecurity-manager-client-dev (libsecurity-manager-client-dev)
53 RDEPENDS_libsecurity-manager-client-dev += "libsecurity-manager-client"
54
55 #RDEPENDS of security-server-dev (${PN}-dev)
56 RDEPENDS_${PN}-dev += "security-server"
57
58 #RDEPENDS of security-server-certs (${PN}-certs)
59 RDEPENDS_${PN}-certs += "security-server"
60
61
62 DEPENDS = ""
63 #DEPENDS of security-server
64 DEPENDS += "systemd"
65 DEPENDS_append_class-native = " cmake-native"
66 DEPENDS_append_class-target = " cmake-native"
67 DEPENDS += "attr"
68 DEPENDS += "zip"
69 DEPENDS += "openssl"
70 DEPENDS += "dlog"
71 DEPENDS += "smack"
72 DEPENDS += "libcap"
73 DEPENDS += "libprivilege-control"
74
75 do_prep() {
76  cd ${S}
77  chmod -Rf a+rX,u+w,g-w,o-w ${S}
78  #setup -q
79  cp ${S}/packaging/security-server.manifest .
80  cp ${S}/packaging/libsecurity-server-client.manifest .
81  cp ${S}/packaging/libsecurity-manager-client.manifest .
82  
83  
84 }
85 do_patch_append() {
86     bb.build.exec_func('do_prep', d)
87 }
88
89 do_configure() {
90 }
91
92 do_compile() {
93  cd ${S}
94  LANG=C
95  export LANG
96  unset DISPLAY
97  CFLAGS="-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables" ; export CFLAGS ;
98  CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ;
99  FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -I%_fmoddir}" ; export FFLAGS ;
100  LD_AS_NEEDED=1; export LD_AS_NEEDED ;
101  
102  
103  export LDFLAGS+="-Wl,--rpath=${prefix}/lib"
104  
105  
106    CFLAGS="${CFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CFLAGS ; 
107    CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ; 
108    FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export FFLAGS ; 
109    cmake \
110          -DCMAKE_VERBOSE_MAKEFILE=ON \
111          -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
112          -DCMAKE_INSTALL_LIBDIR:PATH=${prefix}/lib \
113          -DINCLUDE_INSTALL_DIR:PATH=${prefix}/include \
114          -DLIB_INSTALL_DIR:PATH=${prefix}/lib \
115          -DSYSCONF_INSTALL_DIR:PATH=${sysconfdir} \
116          -DSHARE_INSTALL_PREFIX:PATH=${prefix}/share \
117          -DCMAKE_SKIP_RPATH:BOOL=ON \
118          -DBUILD_SHARED_LIBS:BOOL=ON . -DVERSION=0.0.119 \
119          -DCMAKE_BUILD_TYPE=RELEASE \
120          -DCMAKE_VERBOSE_MAKEFILE=ON
121  make -j16
122  
123  
124  
125 }
126
127 do_install() {
128  echo export RPM_BUILD_ROOT=${D}
129  cd ${S}
130  LANG=C
131  export LANG
132  unset DISPLAY
133  rm -rf ${D}
134  mkdir -p ${D}
135  
136  rm -rf ${D}
137  mkdir -p ${D}/usr/share/license
138  cp LICENSE ${D}/usr/share/license/security-server
139  cp LICENSE ${D}/usr/share/license/libsecurity-server-client
140  cp LICENSE ${D}/usr/share/license/libsecurity-manager-client
141  mkdir -p ${D}/etc/security/
142  cp security-server-audit.conf ${D}/etc/security/
143  
144    oe_runmake \
145          DESTDIR=${D} \
146          INSTALL_ROOT=${D} \
147          BINDIR=${prefix}/bin \
148    install  
149    rm -f ${D}${infodir}/dir 
150    find ${D} -regex ".*\.la$" | xargs rm -f -- 
151    find ${D} -regex ".*\.a$" | xargs rm -f --
152  
153  mkdir -p ${D}/usr/lib/systemd/system/multi-user.target.wants
154  mkdir -p ${D}/usr/lib/systemd/system/sockets.target.wants
155  ln -s ../security-server.service ${D}/usr/lib/systemd/system/multi-user.target.wants/security-server.service
156  ln -s ../security-server-data-share.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-data-share.socket
157  ln -s ../security-server-get-gid.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-get-gid.socket
158  ln -s ../security-server-privilege-by-pid.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-privilege-by-pid.socket
159  ln -s ../security-server-cookie-get.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-cookie-get.socket
160  ln -s ../security-server-cookie-check.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-cookie-check.socket
161  ln -s ../security-server-app-privilege-by-name.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-app-privilege-by-name.socket
162  ln -s ../security-server-password-check.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-password-check.socket
163  ln -s ../security-server-password-set.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-password-set.socket
164  ln -s ../security-server-password-reset.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-server-password-reset.socket
165  ln -s ../security-manager-installer.socket ${D}/usr/lib/systemd/system/sockets.target.wants/security-manager-installer.socket
166  
167  
168 }
169
170 pkg_postinst_${PN}() {
171     #!/bin/sh -e
172
173     systemctl daemon-reload
174     if [ $1 = 1 ]; then
175         # installation
176         systemctl start security-server.service
177     fi
178     if [ $1 = 2 ]; then
179         # update
180         systemctl restart security-server.service
181     fi
182
183 }
184
185 pkg_postinst_libsecurity-server-client() {
186     #!/bin/sh -e
187
188     /sbin/ldconfig
189 }
190
191 pkg_postinst_libsecurity-manager-client() {
192     #!/bin/sh -e
193
194     /sbin/ldconfig
195 }
196
197 pkg_prerm_${PN}() {
198     #!/bin/sh -e
199
200     if [ $1 = 0 ]; then
201         # unistall
202         systemctl stop security-server.service
203     fi
204
205 }
206
207 pkg_postrm_libsecurity-manager-client() {
208     #!/bin/sh -e
209
210     /sbin/ldconfig
211 }
212
213 pkg_postrm_${PN}() {
214     #!/bin/sh -e
215
216     if [ $1 = 0 ]; then
217         # unistall
218         systemctl daemon-reload
219     fi
220
221 }
222
223 pkg_postrm_libsecurity-server-client() {
224     #!/bin/sh -e
225
226     /sbin/ldconfig
227 }
228
229 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
230 PACKAGES += " libsecurity-manager-client "
231 PACKAGES += " libsecurity-manager-client-dev "
232 PACKAGES += " security-server "
233 PACKAGES += " libsecurity-server-client "
234 PACKAGES += " libsecurity-server-client-dev "
235
236 libsecurity-manager-client_files = ""
237 libsecurity-manager-client_files += "libsecurity-manager-client.manifest"
238 libsecurity-manager-client_files += "${prefix}/lib/libsecurity-manager-client.so.*"
239 libsecurity-manager-client_files += "${prefix}/share/license/libsecurity-manager-client"
240
241 libsecurity-manager-client-dev_files = ""
242 libsecurity-manager-client-dev_files += "security-server.manifest"
243 libsecurity-manager-client-dev_files += "${prefix}/lib/libsecurity-manager-client.so"
244 libsecurity-manager-client-dev_files += "${prefix}/lib/libsecurity-server-commons.so"
245 libsecurity-manager-client-dev_files += "${prefix}/include/security-manager/security-manager.h"
246 libsecurity-manager-client-dev_files += "${prefix}/lib/pkgconfig/security-manager.pc"
247
248 security-server_files = ""
249 security-server_files += "security-server.manifest"
250 security-server_files += "/usr/bin/security-server"
251 security-server_files += "${prefix}/lib/libsecurity-server-commons.so.*"
252 security-server_files += "/usr/lib/systemd/system/multi-user.target.wants/security-server.service"
253 security-server_files += "/usr/lib/systemd/system/security-server.service"
254 security-server_files += "/usr/lib/systemd/system/security-server.target"
255 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-data-share.socket"
256 security-server_files += "/usr/lib/systemd/system/security-server-data-share.socket"
257 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-get-gid.socket"
258 security-server_files += "/usr/lib/systemd/system/security-server-get-gid.socket"
259 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-privilege-by-pid.socket"
260 security-server_files += "/usr/lib/systemd/system/security-server-privilege-by-pid.socket"
261 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-cookie-get.socket"
262 security-server_files += "/usr/lib/systemd/system/security-server-cookie-get.socket"
263 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-cookie-check.socket"
264 security-server_files += "/usr/lib/systemd/system/security-server-cookie-check.socket"
265 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-app-privilege-by-name.socket"
266 security-server_files += "/usr/lib/systemd/system/security-server-app-privilege-by-name.socket"
267 security-server_files += "/etc/security/security-server-audit.conf"
268 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-password-check.socket"
269 security-server_files += "/usr/lib/systemd/system/security-server-password-check.socket"
270 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-password-set.socket"
271 security-server_files += "/usr/lib/systemd/system/security-server-password-set.socket"
272 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-server-password-reset.socket"
273 security-server_files += "/usr/lib/systemd/system/security-server-password-reset.socket"
274 security-server_files += "/usr/lib/systemd/system/sockets.target.wants/security-manager-installer.socket"
275 security-server_files += "/usr/lib/systemd/system/security-manager-installer.socket"
276 security-server_files += "${prefix}/share/license/security-server"
277
278 libsecurity-server-client_files = ""
279 libsecurity-server-client_files += "libsecurity-server-client.manifest"
280 libsecurity-server-client_files += "${prefix}/lib/libsecurity-server-client.so.*"
281 libsecurity-server-client_files += "${prefix}/share/license/libsecurity-server-client"
282
283 libsecurity-server-client-dev_files = ""
284 libsecurity-server-client-dev_files += "security-server.manifest"
285 libsecurity-server-client-dev_files += "${prefix}/lib/libsecurity-server-client.so"
286 libsecurity-server-client-dev_files += "${prefix}/lib/libsecurity-server-commons.so"
287 libsecurity-server-client-dev_files += "${prefix}/include/security-server/security-server.h"
288 libsecurity-server-client-dev_files += "${prefix}/lib/pkgconfig/security-server.pc"
289
290 FILES_libsecurity-manager-client = "${libsecurity-manager-client_files}"
291 FILES_libsecurity-manager-client-dev = "${libsecurity-manager-client-dev_files}"
292 FILES_${PN} = "${security-server_files}"
293 FILES_lib${PN}-client = "${libsecurity-server-client_files}"
294 FILES_lib${PN}-client-dev = "${libsecurity-server-client-dev_files}"
295
296 PKG_libsecurity-manager-client= "libsecurity-manager-client"
297 PKG_libsecurity-manager-client-dev= "libsecurity-manager-client-dev"
298 PKG_security-server= "security-server"
299 PKG_libsecurity-server-client= "libsecurity-server-client"
300 PKG_libsecurity-server-client-dev= "libsecurity-server-client-dev"
301
302 require security-server-extraconf.inc
303