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