replace hardpath with rpm macro
[platform/core/security/security-server.git] / packaging / security-server.spec
1 Name:       security-server
2 Summary:    Security server and utilities
3 Version:    0.1.1
4 Release:    1
5 Group:      Security/Service
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    security-server.manifest
9 Source2:    libsecurity-server-client.manifest
10 BuildRequires: cmake
11 BuildRequires: zip
12 BuildRequires: pkgconfig(dlog)
13 BuildRequires: pkgconfig(openssl)
14 BuildRequires: libattr-devel
15 BuildRequires: libcap-devel
16 BuildRequires: pkgconfig(libsmack)
17 BuildRequires: pkgconfig(libprivilege-control)
18 BuildRequires: pkgconfig(libsystemd-daemon)
19 %{?systemd_requires}
20
21 %description
22 Tizen security server and utilities
23
24 %package -n libsecurity-server-client
25 Summary:    Security server (client)
26 Group:      Security/Libraries
27 Requires:   security-server = %{version}-%{release}
28 Requires(post): /sbin/ldconfig
29 Requires(postun): /sbin/ldconfig
30
31 %description -n libsecurity-server-client
32 Tizen Security server client libraries
33
34 %package -n libsecurity-server-client-devel
35 Summary:    Security server (client-devel)
36 Group:      Security/Development
37 Requires:   libsecurity-server-client = %{version}-%{release}
38 Requires:   libprivilege-control-devel
39
40 %description -n libsecurity-server-client-devel
41 Development files needed for using the security client
42
43 %package -n security-server-devel
44 Summary:    for web applications (Development)
45 Group:      Security/Development
46 Requires:   security-server = %{version}-%{release}
47
48 %description -n security-server-devel
49 Development files for the Tizen security server
50
51 %package -n security-server-certs
52 Summary:    Certificates for web applications.
53 Group:      Security/Libraries
54 Requires:   security-server
55
56 %description -n security-server-certs
57 Certificates for the Tizen Web-Runtime
58
59 %prep
60 %setup -q
61 cp %{SOURCE1} .
62 cp %{SOURCE2} .
63
64 %build
65 %if 0%{?sec_build_binary_debug_enable}
66 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
67 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
68 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
69 %endif
70
71 export LDFLAGS="${LDFLAGS} -Wl,--rpath=%{_libdir}"
72
73 %cmake . -DVERSION=%{version} \
74          -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
75          -DCMAKE_VERBOSE_MAKEFILE=ON \
76          -DSYSTEMD_DIR=%{_unitdir}
77
78 %__make %{?_smp_mflags}
79
80 %install
81 rm -rf %{buildroot}
82 mkdir -p %{buildroot}%{_datadir}/license
83 cp LICENSE %{buildroot}%{_datadir}/license/%{name}
84 cp LICENSE %{buildroot}%{_datadir}/license/libsecurity-server-client
85 mkdir -p %{buildroot}%{_sysconfdir}/security/
86 cp security-server-audit.conf %{buildroot}%{_sysconfdir}/security/
87 %make_install
88
89 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
90 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
91 ln -s ../security-server.service %{buildroot}%{_unitdir}/multi-user.target.wants/security-server.service
92 ln -s ../security-server-data-share.socket %{buildroot}%{_unitdir}/sockets.target.wants/security-server-data-share.socket
93 ln -s ../security-server-get-gid.socket    %{buildroot}%{_unitdir}/sockets.target.wants/security-server-get-gid.socket
94 ln -s ../security-server-privilege-by-pid.socket %{buildroot}%{_unitdir}/sockets.target.wants/security-server-privilege-by-pid.socket
95 ln -s ../security-server-cookie-get.socket %{buildroot}%{_unitdir}/sockets.target.wants/security-server-cookie-get.socket
96 ln -s ../security-server-cookie-check.socket %{buildroot}%{_unitdir}/sockets.target.wants/security-server-cookie-check.socket
97 ln -s ../security-server-app-privilege-by-name.socket %{buildroot}%{_unitdir}/sockets.target.wants/security-server-app-privilege-by-name.socket
98 ln -s ../security-server-password-check.socket %{buildroot}%{_unitdir}/sockets.target.wants/security-server-password-check.socket
99 ln -s ../security-server-password-set.socket %{buildroot}%{_unitdir}/sockets.target.wants/security-server-password-set.socket
100 ln -s ../security-server-password-reset.socket %{buildroot}%{_unitdir}/sockets.target.wants/security-server-password-reset.socket
101
102 %clean
103 rm -rf %{buildroot}
104
105 %post
106 ldconfig
107 systemctl daemon-reload
108 if [ $1 = 1 ]; then
109 # installation
110     systemctl start security-server.service
111 fi
112
113 if [ $1 = 2 ]; then
114 # update
115     systemctl restart security-server.service
116 fi
117
118 %preun
119 if [ $1 = 0 ]; then
120 # unistall
121     systemctl stop security-server.service
122 fi
123
124 %postun 
125 ldconfig
126 if [ $1 = 0 ]; then
127 # unistall
128     systemctl daemon-reload
129 fi
130
131 %post -n libsecurity-server-client -p /sbin/ldconfig
132
133 %postun -n libsecurity-server-client -p /sbin/ldconfig
134
135 %files -n security-server
136 %manifest security-server.manifest
137 %defattr(-,root,root,-)
138 %attr(755,root,root) %{_bindir}/security-server
139 %{_libdir}/libsecurity-server-commons.so.*
140 %attr(-,root,root) %{_unitdir}/multi-user.target.wants/security-server.service
141 %attr(-,root,root) %{_unitdir}/security-server.service
142 %attr(-,root,root) %{_unitdir}/security-server.target
143 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-data-share.socket
144 %attr(-,root,root) %{_unitdir}/security-server-data-share.socket
145 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-get-gid.socket
146 %attr(-,root,root) %{_unitdir}/security-server-get-gid.socket
147 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-privilege-by-pid.socket
148 %attr(-,root,root) %{_unitdir}/security-server-privilege-by-pid.socket
149 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-cookie-get.socket
150 %attr(-,root,root) %{_unitdir}/security-server-cookie-get.socket
151 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-cookie-check.socket
152 %attr(-,root,root) %{_unitdir}/security-server-cookie-check.socket
153 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-app-privilege-by-name.socket
154 %attr(-,root,root) %{_unitdir}/security-server-app-privilege-by-name.socket
155 %config %attr(-,root,root) %{_sysconfdir}/security/security-server-audit.conf
156 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-password-check.socket
157 %attr(-,root,root) %{_unitdir}/security-server-password-check.socket
158 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-password-set.socket
159 %attr(-,root,root) %{_unitdir}/security-server-password-set.socket
160 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-server-password-reset.socket
161 %attr(-,root,root) %{_unitdir}/security-server-password-reset.socket
162 %{_datadir}/license/%{name}
163
164 %files -n libsecurity-server-client
165 %manifest libsecurity-server-client.manifest
166 %defattr(-,root,root,-)
167 %{_libdir}/libsecurity-server-client.so.*
168 %{_datadir}/license/libsecurity-server-client
169
170 %files -n libsecurity-server-client-devel
171 %manifest %{name}.manifest
172 %defattr(-,root,root,-)
173 %{_libdir}/libsecurity-server-client.so
174 %{_libdir}/libsecurity-server-commons.so
175 %{_includedir}/security-server/security-server.h
176 %{_libdir}/pkgconfig/*.pc