fb5e9834aea230dbe0744e14e27ab8888473d645
[platform/core/security/krate.git] / packaging / krate.spec
1 Name:    krate
2 Version: 0.0.1
3 Release: 0
4 License: Apache-2.0
5 Source0: file://%{name}-%{version}.tar.gz
6 Summary: Tizen Krate Manager
7 Group:   Security/Other
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(700,root,root) %{_sbindir}/krate-volume-manager
39 %{_unitdir}/krate.service
40 %{_unitdir}/multi-user.target.wants/krate.service
41 %attr(644,root,root) %{TZ_SYS_RO_ICONS}/krate/default_icon.png
42 %attr(644,root,root) %{TZ_SYS_RO_ICONS}/krate/shortcut_icon.png
43 %attr(644,root,root) %{TZ_SYS_RO_ICONS}/krate/indicator_icon.png
44 %attr(644,root,root) %{TZ_SYS_RO_ICONS}/krate/notification_sub_icon.png
45 %attr(755,root,root) %{_libdir}/security/pam_krate.so
46 %attr(700,root,root) %{_sbindir}/krate-admin-cli
47 %config /etc/pam.d/*
48
49 %prep
50 %setup -q
51
52 %build
53 %{!?build_type:%define build_type "RELEASE"}
54
55 %if %{build_type} == "DEBUG" || %{build_type} == "PROFILING" || %{build_type} == "CCOV"
56         CFLAGS="$CFLAGS -Wp,-U_FORTIFY_SOURCE"
57         CXXFLAGS="$CXXFLAGS -Wp,-U_FORTIFY_SOURCE"
58 %endif
59
60 %cmake . -DVERSION=%{version} \
61          -DCMAKE_BUILD_TYPE=%{build_type} \
62          -DRUN_DIR=%{TZ_SYS_RUN} \
63          -DBIN_DIR=%{TZ_SYS_BIN} \
64          -DHOME_DIR=%{TZ_SYS_HOME} \
65          -DSYSTEMD_UNIT_DIR=%{_unitdir} \
66          -DPAMD_DIR=/etc/pam.d \
67          -DICON_DIR="%{TZ_SYS_RO_ICONS}/krate" \
68          -DAPP_INSTALL_PREFIX="%{TZ_SYS_RO_APP}" \
69          -DAPP_SHARE_PACKAGES_DIR="%{TZ_SYS_RO_PACKAGES}"
70
71 make %{?jobs:-j%jobs}
72
73 %install
74 %make_install
75 mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
76 ln -s ../krate.service %{buildroot}/%{_unitdir}/multi-user.target.wants/krate.service
77
78 %find_lang krate-setup-wizard
79
80 %post
81
82 %clean
83 rm -rf %{buildroot}
84
85 %preun
86
87 %postun
88 mv /etc/pam.d/systemd-user.keep /etc/pam.d/systemd-user
89
90 ## Krate Client Package ########################################################
91 %package -n libkrate
92 Summary: Tizen Krate Client library
93 Group: Development/Libraries
94 BuildRequires: pkgconfig(capi-appfw-application)
95 BuildRequires: pkgconfig(capi-appfw-package-manager)
96 BuildRequires: pkgconfig(libtzplatform-config)
97 #Requires: %{name} = %{version}-%{release}
98 Requires(post): /sbin/ldconfig
99 Requires(postun): /sbin/ldconfig
100
101 %description -n libkrate
102 The libkrate package contains the libraries needed to control inside of the krate.
103
104 %post -n libkrate -p /sbin/ldconfig
105
106 %postun -n libkrate -p /sbin/ldconfig
107
108 %files -n libkrate
109 %manifest krate.manifest
110 %defattr(644,root,root,755)
111 %attr(755,root,root) %{_libdir}/libkrate.so.%{version}
112 %{_libdir}/libkrate.so.0
113
114 ## Devel Package ##############################################################
115 %package -n libkrate-devel
116 Summary: Libraries and header files for krate client development
117 Group: Development/Libraries
118 Requires: libkrate = %{version}-%{release}
119
120 %description -n libkrate-devel
121 The libkrate-devel package includes the libraries and header files necessary for
122 developing the krate client program.
123
124 %files -n libkrate-devel
125 %manifest krate.manifest
126 %defattr(644,root,root,755)
127 %{_libdir}/libkrate.so
128 %{_includedir}/krate
129 %{_libdir}/pkgconfig/krate.pc
130
131 ## Krate Setup Wizard Package #################################################
132 %package -n org.tizen.krate-setup-wizard
133 Summary: Tizen Krate setup wizard Interface
134 Group: Security/Other
135 Requires: libkrate = %{version}-%{release}
136 BuildRequires: pkgconfig(elementary)
137 BuildRequires: pkgconfig(capi-appfw-application)
138 BuildRequires: pkgconfig(evas)
139 BuildRequires: pkgconfig(notification)
140
141 %description -n org.tizen.krate-setup-wizard
142 Tizen Krate setup wizard interface
143
144 %define setup_home %{TZ_SYS_RO_APP}/org.tizen.krate-setup-wizard
145
146 %files -n org.tizen.krate-setup-wizard -f krate-setup-wizard.lang
147 %defattr(-,root,root,-)
148 %manifest tools/apps/setup-wizard/org.tizen.krate-setup-wizard.manifest
149 %{setup_home}/bin/*
150 %{setup_home}/res/*
151 %{TZ_SYS_RO_PACKAGES}/org.tizen.krate-setup-wizard.xml
152
153 ## Kaskit package #####################################################
154 %package -n org.tizen.kaskit
155 Summary: Tizen Krate launcher Interface
156 Group: Security/Other
157 BuildRequires: pkgconfig(elementary)
158 BuildRequires: pkgconfig(evas)
159 BuildRequires: pkgconfig(capi-appfw-application)
160 BuildRequires: pkgconfig(capi-appfw-package-manager)
161 BuildRequires: pkgconfig(capi-appfw-app-manager)
162 BuildRequires: pkgconfig(badge)
163
164 %description -n org.tizen.kaskit
165 Tizen Krate launcher interface
166
167 %define launcher_home %{TZ_SYS_RO_APP}/org.tizen.kaskit
168
169 %files -n org.tizen.kaskit
170 %defattr(-,root,root,-)
171 %manifest tools/apps/kaskit/org.tizen.kaskit.manifest
172 %{launcher_home}/bin/*
173 %{launcher_home}/res/*
174 %{TZ_SYS_RO_PACKAGES}/org.tizen.kaskit.xml
175
176 ## Keyguard package #####################################################
177 %package -n org.tizen.keyguard
178 Summary: Tizen Krate keyguard Interface
179 Group: Security/Other
180 Requires: libkrate = %{version}-%{release}
181 BuildRequires: pkgconfig(elementary)
182 BuildRequires: pkgconfig(capi-appfw-application)
183 BuildRequires: pkgconfig(evas)
184 BuildRequires: pkgconfig(capi-ui-efl-util)
185 BuildRequires: pkgconfig(auth-fw)
186 BuildRequires: pkgconfig(shortcut)
187
188 %description -n org.tizen.keyguard
189 Tizen Krate keyguard interface
190
191 %define keyguard_home %{TZ_SYS_RO_APP}/org.tizen.keyguard
192
193 %files -n org.tizen.keyguard
194 %defattr(-,root,root,-)
195 %manifest tools/apps/keyguard/org.tizen.keyguard.manifest
196 %{keyguard_home}/bin/*
197 %{keyguard_home}/res/*
198 %{TZ_SYS_RO_PACKAGES}/org.tizen.keyguard.xml