cd68faa03c0e975f89b327156002d3c3f440b1d5
[platform/core/security/security-manager.git] / packaging / security-manager.spec
1 Name:       security-manager
2 Summary:    Security manager and utilities
3 Version:    0.2.0
4 Release:    1
5 Group:      Security/Service
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    security-manager.manifest
9 Source3:    libsecurity-manager-client.manifest
10 Requires(post): smack
11 BuildRequires: cmake
12 BuildRequires: zip
13 BuildRequires: libattr-devel
14 BuildRequires: pkgconfig(libsmack)
15 BuildRequires: pkgconfig(libcap)
16 BuildRequires: pkgconfig(libsystemd-daemon)
17 BuildRequires: pkgconfig(libsystemd-journal)
18 BuildRequires: pkgconfig(libtzplatform-config)
19 BuildRequires: pkgconfig(sqlite3)
20 BuildRequires: pkgconfig(db-util)
21 BuildRequires: pkgconfig(cynara-admin)
22 BuildRequires: pkgconfig(cynara-client)
23 BuildRequires: boost-devel
24 %{?systemd_requires}
25
26 %description
27 Tizen security manager and utilities
28
29 %package -n libsecurity-manager-client
30 Summary:    Security manager (client)
31 Group:      Security/Libraries
32 Requires:   security-manager = %{version}-%{release}
33 Requires(post): /sbin/ldconfig
34 Requires(postun): /sbin/ldconfig
35
36 %description -n libsecurity-manager-client
37 Tizen Security manager client library
38
39 %package -n libsecurity-manager-client-devel
40 Summary:    Security manager (client-devel)
41 Group:      Security/Development
42 Requires:   libsecurity-manager-client = %{version}-%{release}
43
44 %description -n libsecurity-manager-client-devel
45 Development files needed for using the security manager client
46
47 %prep
48 %setup -q
49 cp %{SOURCE1} .
50 cp %{SOURCE3} .
51
52 %build
53 %if 0%{?sec_build_binary_debug_enable}
54 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
55 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
56 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
57 %endif
58
59 export LDFLAGS+="-Wl,--rpath=%{_libdir}"
60
61 %cmake . -DVERSION=%{version} \
62         -DBIN_INSTALL_DIR=%{_bindir} \
63         -DDB_INSTALL_DIR=%{TZ_SYS_DB} \
64         -DSYSTEMD_INSTALL_DIR=%{_unitdir} \
65         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
66         -DCMAKE_VERBOSE_MAKEFILE=ON
67 make %{?jobs:-j%jobs}
68
69 %install
70 rm -rf %{buildroot}
71 mkdir -p %{buildroot}/usr/share/license
72 cp LICENSE %{buildroot}/usr/share/license/%{name}
73 cp LICENSE %{buildroot}/usr/share/license/libsecurity-manager-client
74 mkdir -p %{buildroot}/%{TZ_SYS_SMACK}
75 cp app-rules-template.smack %{buildroot}/%{TZ_SYS_SMACK}
76 %make_install
77
78 mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
79 mkdir -p %{buildroot}/%{_unitdir}/sockets.target.wants
80 ln -s ../security-manager.service %{buildroot}/%{_unitdir}/multi-user.target.wants/security-manager.service
81 ln -s ../security-manager.socket %{buildroot}/%{_unitdir}/sockets.target.wants/security-manager.socket
82
83 %clean
84 rm -rf %{buildroot}
85
86 %post
87 /sbin/ldconfig
88 systemctl daemon-reload
89 if [ $1 = 1 ]; then
90     # installation
91     systemctl start security-manager.service
92 fi
93
94 if [ $1 = 2 ]; then
95     # update
96     systemctl restart security-manager.service
97 fi
98 chsmack -a System %{TZ_SYS_DB}/.security-manager.db
99 chsmack -a System %{TZ_SYS_DB}/.security-manager.db-journal
100
101 %preun
102 if [ $1 = 0 ]; then
103     # unistall
104     systemctl stop security-manager.service
105 fi
106
107 %postun
108 /sbin/ldconfig
109 if [ $1 = 0 ]; then
110     # unistall
111     systemctl daemon-reload
112 fi
113
114 %post -n libsecurity-manager-client -p /sbin/ldconfig
115
116 %postun -n libsecurity-manager-client -p /sbin/ldconfig
117
118 %files -n security-manager
119 %manifest security-manager.manifest
120 %defattr(-,root,root,-)
121 %attr(755,root,root) %{_bindir}/security-manager
122 %attr(755,root,root) %{_bindir}/security-manager-cmd
123 %{_libdir}/libsecurity-manager-commons.so.*
124 %attr(-,root,root) %{_unitdir}/multi-user.target.wants/security-manager.service
125 %attr(-,root,root) %{_unitdir}/security-manager.service
126 %attr(-,root,root) %{_unitdir}/security-manager.target
127 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-manager.socket
128 %attr(-,root,root) %{_unitdir}/security-manager.socket
129 %attr(-,root,root) %{TZ_SYS_SMACK}/app-rules-template.smack
130 %config(noreplace) %attr(0600,root,root) %{TZ_SYS_DB}/.security-manager.db
131 %config(noreplace) %attr(0600,root,root) %{TZ_SYS_DB}/.security-manager.db-journal
132 %{_datadir}/license/%{name}
133
134 %files -n libsecurity-manager-client
135 %manifest libsecurity-manager-client.manifest
136 %defattr(-,root,root,-)
137 %{_libdir}/libsecurity-manager-client.so.*
138 %{_datadir}/license/libsecurity-manager-client
139
140 %files -n libsecurity-manager-client-devel
141 %manifest %{name}.manifest
142 %defattr(-,root,root,-)
143 %{_libdir}/libsecurity-manager-client.so
144 %{_libdir}/libsecurity-manager-commons.so
145 %{_includedir}/security-manager/security-manager.h
146 %{_libdir}/pkgconfig/security-manager.pc