Add krate-mount service
[platform/core/security/krate.git] / packaging / krate.spec
1 Name:    krate
2 Version: 0.0.1
3 Release: 1
4 License: Apache-2.0
5 Source0: file://%{name}-%{version}.tar.gz
6 Summary: Tizen Krate Manager
7 Group:   Security/Service
8 Requires: systemd
9 BuildRequires: pam-devel
10 BuildRequires: gcc
11 BuildRequires: cmake
12 BuildRequires: gettext-tools
13 BuildRequires: pkgconfig(klay)
14 BuildRequires: pkgconfig(glib-2.0)
15 BuildRequires: pkgconfig(libxml-2.0)
16 BuildRequires: pkgconfig(bundle)
17 BuildRequires: pkgconfig(pkgmgr)
18 BuildRequires: pkgconfig(pkgmgr-info)
19 BuildRequires: pkgconfig(aul)
20 BuildRequires: pkgconfig(appsvc)
21 BuildRequires: pkgconfig(libtzplatform-config)
22 BuildRequires: pkgconfig(capi-system-system-settings)
23 BuildRequires: pkgconfig(notification)
24 BuildRequires: pkgconfig(key-manager)
25 BuildRequires: pkgconfig(auth-fw-admin)
26 BuildRequires: pkgconfig(cynara-client)
27 BuildRequires: pkgconfig(cynara-session)
28 BuildRequires: pkgconfig(libgum)
29
30 %description
31 The krate package provides a daemon which is responsible for managing each of
32 krates.
33
34 %files
35 %manifest krate.manifest
36 %defattr(644,root,root,755)
37 %attr(755,root,root) %{_bindir}/krated
38 %attr(755,root,root) %{_bindir}/krate-mount
39 %attr(700,root,root) %{_sbindir}/krate-volume-manager
40 %{_unitdir}/krate.service
41 %{_unitdir}/multi-user.target.wants/krate.service
42 %{_unitdir_user}/krate-mount.service
43 %{_unitdir_user}/basic.target.wants/krate-mount.service
44 %attr(644,root,root) %{TZ_SYS_RO_ICONS}/krate/default_icon.png
45 %attr(644,root,root) %{TZ_SYS_RO_ICONS}/krate/shortcut_icon.png
46 %attr(644,root,root) %{TZ_SYS_RO_ICONS}/krate/indicator_icon.png
47 %attr(644,root,root) %{TZ_SYS_RO_ICONS}/krate/notification_sub_icon.png
48 %attr(755,root,root) %{_libdir}/security/pam_krate.so
49
50 %prep
51 %setup -q
52
53 %build
54 %{!?build_type:%define build_type "RELEASE"}
55
56 %if %{build_type} == "DEBUG" || %{build_type} == "PROFILING" || %{build_type} == "CCOV"
57         CFLAGS="$CFLAGS -Wp,-U_FORTIFY_SOURCE"
58         CXXFLAGS="$CXXFLAGS -Wp,-U_FORTIFY_SOURCE"
59 %endif
60
61 %cmake . -DVERSION=%{version} \
62          -DCMAKE_BUILD_TYPE=%{build_type} \
63          -DRUN_DIR=%{TZ_SYS_RUN} \
64          -DBIN_DIR=%{TZ_SYS_BIN} \
65          -DHOME_DIR=%{TZ_SYS_HOME} \
66          -DSYSTEMD_UNIT_DIR=%{_unitdir} \
67          -DSYSTEMD_USER_UNIT_DIR=%{_unitdir_user} \
68          -DPAMD_DIR=/etc/pam.d \
69          -DICON_DIR="%{TZ_SYS_RO_ICONS}/krate" \
70
71 make %{?jobs:-j%jobs}
72
73 %install
74 %make_install
75 mkdir -p %{buildroot}/%{_unitdir_user}/basic.target.wants
76 ln -s ../krate-mount.service %{buildroot}/%{_unitdir_user}/basic.target.wants/.
77
78 mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
79 ln -s ../krate.service %{buildroot}/%{_unitdir}/multi-user.target.wants/.
80
81 %post
82 echo "session  required pam_krate.so" >> /etc/pam.d/systemd-user
83
84 %clean
85 rm -rf %{buildroot}
86
87 %preun
88
89 %postun
90 sed --in-place '/pam_krate.so/d' /etc/pam.d/systemd-user