Modification about smack label of db file belong to process.
[platform/framework/web/wrt-security.git] / packaging / wrt-security.spec
1 #sbs-git:slp/pkgs/s/security-server security-server 0.0.37
2 Name:       wrt-security
3 Summary:    Wrt security daemon
4 Version:    0.0.67
5 Release:    0
6 Group:      Security/Access Control
7 License:    Apache-2.0
8 URL:        N/A
9 Source0:    %{name}-%{version}.tar.gz
10 Source1001: %{name}.manifest
11 BuildRequires: cmake
12 BuildRequires: zip
13 BuildRequires: pkgconfig(dlog)
14 BuildRequires: pkgconfig(openssl)
15 BuildRequires: libattr-devel
16 BuildRequires: pkgconfig(libsmack)
17 BuildRequires: pkgconfig(dbus-1)
18 BuildRequires: pkgconfig(dpl-efl)
19 BuildRequires: pkgconfig(dpl-utils-efl)
20 BuildRequires: pkgconfig(dpl-dbus-efl)
21 BuildRequires: pkgconfig(libpcrecpp)
22 BuildRequires: pkgconfig(icu-i18n)
23 BuildRequires: pkgconfig(libsoup-2.4)
24 BuildRequires: pkgconfig(xmlsec1)
25 BuildRequires: pkgconfig(capi-appfw-app-manager)
26 BuildRequires: pkgconfig(capi-appfw-package-manager)
27 BuildRequires: pkgconfig(privacy-manager-client)
28 BuildRequires: pkgconfig(privacy-manager-server)
29 BuildRequires: pkgconfig(capi-security-privacy-manager)
30 BuildRequires: pkgconfig(dpl-wrt-dao-ro)
31 BuildRequires: pkgconfig(libsystemd-daemon)
32 BuildRequires:  pkgconfig(libtzplatform-config)
33 Requires: libtzplatform-config
34 %{?systemd_requires}
35
36 %description
37 Wrt security daemon and utilities.
38
39 %package -n wrt-security-devel
40 Summary:    Header files for client libraries
41 Group:      Development/Libraries
42 Requires:   wrt-security = %{version}-%{release}
43
44 %description -n wrt-security-devel
45 Developer files for client libraries.
46
47 %package -n security-server-certs
48 Summary:    Certificates for web applications
49 Group:      Development/Libraries
50 Requires:   security-server
51
52 %description -n security-server-certs
53 Certificates for wrt.
54
55 %prep
56 %setup -q
57 cp %{SOURCE1001} .
58
59 %build
60 export LDFLAGS+="-Wl,--rpath=%{_libdir}"
61
62 %cmake . -DDPL_LOG="ON" \
63         -DVERSION=%{version} \
64         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type} \
65         -DTZ_SYS_ACE_CONF=%{TZ_SYS_ACE_CONF} \
66         -DTZ_SYS_SHARE=%{TZ_SYS_SHARE}
67 make %{?jobs:-j%jobs}
68
69
70 %install
71 rm -rf %{buildroot}
72 mkdir -p %{buildroot}/usr/share/license
73 cp LICENSE %{buildroot}/usr/share/license/%{name}
74
75 %make_install
76 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
77 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
78 ln -sf %{_unitdir}/wrt-security-daemon.service %{buildroot}%{_unitdir}/multi-user.target.wants/wrt-security-daemon.service
79 ln -sf %{_unitdir}/wrt-security-daemon.socket  %{buildroot}%{_unitdir}/sockets.target.wants/wrt-security-daemon.socket
80
81 %clean
82 rm -rf %{buildroot}
83
84 %post
85 if [ ! -e %TZ_SYS_DB"/.ace.db" ]; then
86     echo "This is new install of wrt-security"
87     echo "Calling /usr/bin/wrt_security_create_clean_db.sh"
88     %{_bindir}/wrt_security_create_clean_db.sh
89 else
90     # Find out old and new version of databases
91     ACE_OLD_DB_VERSION=`sqlite3 %TZ_SYS_DB/.ace.db ".tables" | grep "DB_VERSION_"`
92     ACE_NEW_DB_VERSION=`cat %TZ_SYS_RO_WRT_ENGINE/ace_db.sql | tr '[:blank:]' '\n' | grep DB_VERSION_`
93     echo "OLD ace database version ${ACE_OLD_DB_VERSION}"
94     echo "NEW ace database version ${ACE_NEW_DB_VERSION}"
95
96     if [ ${ACE_OLD_DB_VERSION} -a ${ACE_NEW_DB_VERSION} ]
97     then
98         if [ ${ACE_NEW_DB_VERSION} = ${ACE_OLD_DB_VERSION} ]
99         then
100             echo "Equal database detected so db installation ignored"
101         else
102             echo "Calling /usr/bin/wrt_security_create_clean_db.sh"
103             %{_bindir}/wrt_security_create_clean_db.sh
104         fi
105     else
106         echo "Calling /usr/bin/wrt_security_create_clean_db.sh"
107         %{_bindir}/wrt_security_create_clean_db.sh
108     fi
109 fi
110
111 chsmack -a 'User' /opt/dbspace/.ace.db*
112
113 /sbin/ldconfig
114 echo "[WRT] wrt-security postinst done ..."
115
116 %postun
117 /sbin/ldconfig
118
119 %files -n wrt-security
120 %manifest %{name}.manifest
121 %defattr(-,root,root,-)
122 %attr(755,root,root) %{_bindir}/wrt-security-daemon
123 %{_libdir}/libace*.so
124 %{_libdir}/libace*.so.*
125 %{_libdir}/libwrt-ocsp.so
126 %{_libdir}/libwrt-ocsp.so.*
127 /usr/share/wrt-engine/*
128 %attr(755,root,root) %{_bindir}/wrt_security_create_clean_db.sh
129 %attr(755,root,root) %{_bindir}/wrt_security_change_policy.sh
130 %attr(664,root,root) %{_datadir}/dbus-1/system-services/*
131 %attr(664,root,root) %TZ_SYS_ACE_CONF/bondixml*
132 %attr(664,root,root) %TZ_SYS_ACE_CONF/UnrestrictedPolicy.xml
133 %attr(664,root,root) %TZ_SYS_ACE_CONF/WAC2.0Policy.xml
134 %attr(664,root,root) %TZ_SYS_ACE_CONF/TizenPolicy.xml
135 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/wac/wac.publisherid.pem
136 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen.root.preproduction.cert.pem
137 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/wac/wac.root.production.pem
138 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/wac/wac.root.preproduction.pem
139 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-developer-root-ca.pem
140 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-distributor-root-ca-partner.pem
141 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-distributor-root-ca-public.pem
142 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-distributor-root-ca-partner-manufacturer.pem
143 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-distributor-root-ca-partner-operator.pem
144 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-developers-root.pem
145 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-partner-class-developer-root.pem
146 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-partner-class-root-authority.pem
147 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-platform-class-developer-root.pem
148 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-platform-class-root-authority.pem
149 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-public-class-developer-root.pem
150 %attr(664,root,root) %TZ_SYS_SHARE/cert-svc/certs/code-signing/tizen/tizen-public-class-root-authority.pem
151 %{_datadir}/license/%{name}
152 %{_unitdir}/*
153
154 %files -n wrt-security-devel
155 %manifest %{name}.manifest
156 %defattr(-,root,root,-)
157 %{_includedir}/wrt-security/*
158 %{_includedir}/ace/*
159 %{_includedir}/ace-client/*
160 %{_includedir}/ace-settings/*
161 %{_includedir}/ace-install/*
162 %{_includedir}/ace-common/*
163 %{_includedir}/ace-popup-validation/*
164 %{_includedir}/wrt-ocsp/*
165 %{_libdir}/pkgconfig/security-client.pc
166 %{_libdir}/pkgconfig/security-communication-client.pc
167 %{_libdir}/pkgconfig/security-core.pc
168 %{_libdir}/pkgconfig/security-dao-ro.pc
169 %{_libdir}/pkgconfig/security-dao-rw.pc
170 %{_libdir}/pkgconfig/security-install.pc
171 %{_libdir}/pkgconfig/security-popup-validation.pc
172 %{_libdir}/pkgconfig/security-settings.pc
173 %{_libdir}/pkgconfig/security-wrt-ocsp.pc
174 %{_libdir}/pkgconfig/security.pc
175