1 %if !%{defined with_systemd_daemon}
2 %define with_systemd_daemon 1
5 Name: askuser-notification
6 Summary: User daemon which shows popup with privilege request
9 Group: Security/Access Control
11 Source0: %{name}-%{version}.tar.gz
12 Source1001: default.manifest
13 Source1002: libaskuser-notification-common.manifest
15 BuildRequires: libwayland-egl
16 BuildRequires: gettext-tools
17 BuildRequires: pkgconfig(elementary)
18 %if %{with_systemd_daemon}
19 BuildRequires: pkgconfig(libsystemd)
21 BuildRequires: pkgconfig(cynara-plugin)
22 BuildRequires: pkgconfig(pkgmgr-info)
23 BuildRequires: pkgconfig(security-privilege-manager)
24 BuildRequires: pkgconfig(security-manager)
25 BuildRequires: pkgconfig(glib-2.0)
26 BuildRequires: pkgconfig(vconf)
27 BuildRequires: pkgconfig(capi-base-common)
28 BuildRequires: pkgconfig(capi-ui-efl-util)
29 BuildRequires: pkgconfig(capi-system-info)
30 BuildRequires: pkgconfig(libsmack)
31 BuildRequires: pkgconfig(aul)
32 BuildRequires: edje-bin
34 %if !%{defined build_type}
35 %define build_type RELEASE
39 Provides daemon allowing user to grant or deny access to given privilege
40 for a client application, and a plugin for supporting custom
41 Cynara policy type "Ask user".
43 %package -n libaskuser-notification-common
44 Summary: Askuser common library
46 %description -n libaskuser-notification-common
47 Askuser common library with common functionalities
50 Requires: askuser-notification-client
51 Requires: capi-privacy-privilege-manager
52 Summary: Askuser notification protocol library development files
55 Askuser notification protocol library development files
58 Summary: Tools for testing askuser-notification client and C API
61 Provides tests for checking the API provided by capi-privacy-privilege-manager
62 and askuser-notification-client
65 Summary: Askuser notification client library
66 Requires(post): /sbin/ldconfig
67 Requires(postun): /sbin/ldconfig
70 Askuser notification client library allows to check if an application
71 has a particular privilege. It also allows an application to determine privacy
72 privileges. It communicates with the askuser-notification service. It is an
73 asynchronous API, therefore it can be integrated with any event loop mechanism.
75 %package -n capi-privacy-privilege-manager
76 Summary: Privacy Privilege Manager in TIZEN C API
77 Requires: askuser-notification-client
78 Requires(post): /sbin/ldconfig
79 Requires(postun): /sbin/ldconfig
81 %description -n capi-privacy-privilege-manager
82 This CAPI allows an application to check if it has a given privilege.
83 Additionally, for privacy privileges, it provides an ability to determine
84 their statuses by displaying an appropriate pop-up dialog box. A user
85 can make a decision whether to give a privilege to an application or not.
94 %if 0%{?sec_build_binary_debug_enable}
95 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
98 %if %{?build_type} == "DEBUG"
99 export CXXFLAGS="$CXXFLAGS -Wp,-U_FORTIFY_SOURCE"
102 export LDFLAGS+="-Wl,--rpath=%{_libdir}"
105 -DCMAKE_BUILD_TYPE=%{?build_type} \
106 -DBUILD_WITH_SYSTEMD_DAEMON=%{?with_systemd_daemon} \
107 -DCMAKE_VERBOSE_MAKEFILE=ON \
108 -DRES_DIR="/usr/share/askuser-notification/res"
109 make %{?jobs:-j%jobs}
116 %if %{with_systemd_daemon}
117 mkdir -p %{buildroot}/%{_unitdir_user}/sockets.target.wants
118 ln -s ../askuser-notification-stream.socket %{buildroot}/%{_unitdir_user}/sockets.target.wants/askuser-notification-stream.socket
122 %if %{with_systemd_daemon}
123 systemctl daemon-reload
126 systemctl restart cynara.service
128 # update - workaround for ditry user-session service restart, only for platform development case
129 echo "WARNING: askuser-notification updated; to ensure system stability & proper operation, reboot your device"
135 systemctl restart cynara.service
137 %post -n libaskuser-notification-common -p /sbin/ldconfig
139 %postun -n libaskuser-notification-common -p /sbin/ldconfig
141 %post client -p /sbin/ldconfig
143 %postun client -p /sbin/ldconfig
145 %post -n capi-privacy-privilege-manager -p /sbin/ldconfig
147 %postun -n capi-privacy-privilege-manager -p /sbin/ldconfig
149 %files -f %{name}.lang
150 %manifest default.manifest
152 %attr(755,root,root) /usr/bin/askuser-notification
153 %if %{with_systemd_daemon}
154 %{_unitdir_user}/askuser-notification.service
155 %{_unitdir_user}/askuser-notification-stream.socket
156 %{_unitdir_user}/sockets.target.wants
158 %{_datadir}/askuser-notification/res
159 %{_libdir}/cynara/plugin/service/*.so
161 %files -n libaskuser-notification-common
162 %manifest libaskuser-notification-common.manifest
164 %{_libdir}/libaskuser-notification-common.so*
165 %{_libdir}/libaskuser-notification.so.*
168 %{_libdir}/pkgconfig/*.pc
169 %{_includedir}/askuser-notification-client/*.h
170 %{_includedir}/privacy-privilege-manager/*.h
174 %manifest default.manifest
176 %attr(755,root,root) %{_bindir}/askuser-notification-test
177 %attr(755,root,root) %{_bindir}/capi-privacy-privilege-manager-test
180 %manifest default.manifest
182 %attr(644,-,-) %{_libdir}/libaskuser-notification-client.so.*
184 %files -n capi-privacy-privilege-manager
185 %manifest default.manifest
187 %attr(644,-,-) %{_libdir}/libcapi-privacy-privilege-manager.so.*