Add CAP_SYS_ADMIN capability
[platform/core/appfw/launchpad.git] / packaging / launchpad.spec
1 Name:       launchpad
2 Summary:    Launchpad for launching applications
3 Version:    0.3.1
4 Release:    1
5 Group:      Application Framework/Daemons
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source101:  launchpad-process-pool.service
9 Source102:  launchpad-process-pool.socket
10
11
12 BuildRequires:  cmake
13 BuildRequires:  pkgconfig(bundle)
14 BuildRequires:  pkgconfig(gio-2.0)
15 BuildRequires:  pkgconfig(ecore)
16 BuildRequires:  pkgconfig(dlog)
17 BuildRequires:  pkgconfig(libsystemd)
18 BuildRequires:  pkgconfig(elementary)
19 BuildRequires:  pkgconfig(vconf)
20 BuildRequires:  pkgconfig(buxton2)
21 BuildRequires:  pkgconfig(security-manager)
22 BuildRequires:  pkgconfig(aul)
23 BuildRequires:  pkgconfig(ttrace)
24 BuildRequires:  pkgconfig(libtzplatform-config)
25 BuildRequires:  pkgconfig(libcap)
26
27 Requires(post): /sbin/ldconfig
28 Requires(post): /usr/bin/systemctl
29 Requires(postun): /sbin/ldconfig
30 Requires(postun): /usr/bin/systemctl
31 Requires(preun): /usr/bin/systemctl
32
33 %define tizen_feature_priority_change 0
34 %define tizen_feature_loader_priority 0
35 %ifarch armv7l i586
36 %define tizen_arch32 1
37 %else
38 %define tizen_arch32 0
39 %endif
40
41 %description
42 Launchpad for launching applications
43
44 %package devel
45 Summary:    Launchpad for launching applications (devel)
46 Group:      Development/Libraries
47 Requires:   %{name} = %{version}-%{release}
48
49 %description devel
50 Launchpad for launching applications (devel)
51
52 %package -n launchpad-loader
53 Summary:    Launchpad-Loader for launching applications
54 Group:      Application Framework/Application Launcher
55
56 %description -n launchpad-loader
57 Launchpad-Loader for launching applications
58
59 %prep
60 %setup -q
61
62 %build
63 %if 0%{?sec_build_binary_debug_enable}
64 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
65 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
66 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
67 %endif
68 %if 0%{?tizen_feature_priority_change}
69 _TIZEN_FEATURE_PRIORITY_CHANGE=ON
70 %endif
71 %if 0%{?tizen_feature_loader_priority}
72 _TIZEN_FEATURE_LOADER_PRIORITY=ON
73 %endif
74 %if 0%{?tizen_arch32}
75 _TIZEN_FEATURE_SET_PERSONALITY_32=ON
76 %endif
77
78 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
79 %cmake -DVERSION=%{version} \
80         -DMAJORVER=${MAJORVER} \
81         -D_TIZEN_FEATURE_PRIORITY_CHANGE:BOOL=${_TIZEN_FEATURE_PRIORITY_CHANGE} \
82         -D_TIZEN_FEATURE_LOADER_PRIORITY:BOOL=${_TIZEN_FEATURE_LOADER_PRIORITY} \
83         -D_TIZEN_FEATURE_SET_PERSONALITY_32:BOOL=${_TIZEN_FEATURE_SET_PERSONALITY_32} \
84         .
85 %__make %{?_smp_mflags}
86
87 %install
88 rm -rf %{buildroot}
89
90 %make_install
91 mkdir -p %{buildroot}%{_unitdir_user}/basic.target.wants
92 mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
93 install -m 0644 %SOURCE101 %{buildroot}%{_unitdir_user}/launchpad-process-pool.service
94 install -m 0644 %SOURCE102 %{buildroot}%{_unitdir_user}/launchpad-process-pool.socket
95 ln -sf ../launchpad-process-pool.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/launchpad-process-pool.socket
96 ln -sf ../launchpad-process-pool.service %{buildroot}%{_unitdir_user}/basic.target.wants/launchpad-process-pool.service
97
98 %post
99
100 %files
101 %manifest launchpad.manifest
102 %license LICENSE
103 %{_prefix}/share/aul/default.debugger
104 %{_unitdir_user}/launchpad-process-pool.service
105 %{_unitdir_user}/launchpad-process-pool.socket
106 %{_unitdir_user}/sockets.target.wants/launchpad-process-pool.socket
107 %{_unitdir_user}/basic.target.wants/launchpad-process-pool.service
108 %if 0%{?tizen_feature_priority_change} || 0%{?tizen_feature_loader_priority}
109 %caps(cap_mac_admin,cap_dac_override,cap_setgid,cap_sys_admin,cap_sys_nice=ei) %{_bindir}/launchpad-process-pool
110 %else
111 %caps(cap_mac_admin,cap_dac_override,cap_setgid,cap_sys_admin=ei) %{_bindir}/launchpad-process-pool
112 %endif
113 %attr(0644,root,root) %{_libdir}/liblaunchpad.so.*
114
115 %files devel
116 %{_includedir}/launchpad/*.h
117 %{_libdir}/*.so
118 %{_libdir}/pkgconfig/*.pc
119
120 %files -n launchpad-loader
121 %manifest %{name}.manifest
122 %license LICENSE
123 %{_prefix}/share/aul/default.loader
124 %if 0%{?tizen_feature_priority_change} || 0%{?tizen_feature_loader_priority}
125 %caps(cap_setgid,cap_sys_admin,cap_sys_nice=ei) %{_bindir}/launchpad-loader
126 %else
127 %caps(cap_setgid,cap_sys_admin=ei) %{_bindir}/launchpad-loader
128 %endif