Change label of DBs to System::Shared
[platform/core/security/privacy-manager.git] / packaging / privacy-manager.spec
1 Name:           privacy-manager-server
2 Version:        0.0.4
3 Release:        0
4 License:        Apache-2.0
5 Summary:        Privacy Management
6 Group:          Security/Libraries
7 Source0:        %{name}-%{version}.tar.gz
8 Source1:        privacy-manager-server.service
9 Source1001:     privacy-manager-server.manifest
10 Source1002:     privacy-manager-server-devel.manifest
11 Source1003:     privacy-manager-client.manifest
12 Source1004:     privacy-manager-client-devel.manifest
13 Source1005:     capi-security-privacy-manager.manifest
14 Source1006:     capi-security-privacy-manager-devel.manifest
15 BuildRequires:  cmake
16 BuildRequires:  gettext-tools
17 BuildRequires:  pkgconfig(capi-base-common)
18 BuildRequires:  pkgconfig(db-util)
19 BuildRequires:  pkgconfig(dbus-1)
20 BuildRequires:  pkgconfig(dbus-glib-1)
21 BuildRequires:  pkgconfig(dlog)
22 BuildRequires:  pkgconfig(glib-2.0)
23 BuildRequires:  pkgconfig(libxml-2.0)
24 BuildRequires:  pkgconfig(pkgmgr-info)
25 BuildRequires:  pkgconfig(sqlite3)
26 BuildRequires:  pkgconfig(capi-system-info)
27 BuildRequires:  pkgconfig(libtzplatform-config)
28
29 Requires(post):   /sbin/ldconfig
30 Requires(postun): /sbin/ldconfig
31
32 %description
33 Privacy Management
34
35 %package -n privacy-manager-server-devel
36 Summary:        Privacy Manager Server
37 Requires:       privacy-manager-server = %{version}
38
39 %description -n privacy-manager-server-devel
40 privacy-manager server devel
41
42 %package -n privacy-manager-client
43 Summary:        Privacy Manager client
44 Requires:       privacy-manager-server = %{version}
45
46 %description -n privacy-manager-client
47 privacy-manager client
48
49 %package -n privacy-manager-client-devel
50 Summary:        Privacy Manager client devel
51 Requires:       privacy-manager-client = %{version}
52
53 %description -n privacy-manager-client-devel
54 Privacy Management(development files)
55
56 %package -n capi-security-privacy-manager
57 Summary:        Privacy Manager API
58 Requires:       privacy-manager-client = %{version}
59
60 %description -n capi-security-privacy-manager
61 The Privacy Manager API provides functions to get/set information 
62 about privacy information of installed packages.
63
64 %package  -n capi-security-privacy-manager-devel
65 Summary:        Privacy Manager API (Development)
66 Requires:       capi-security-privacy-manager = %{version}
67
68 %description -n capi-security-privacy-manager-devel
69 The Privacy Manager API provides functions to get/set 
70 information about privacy information of installed packages.(DEV)
71
72 %prep
73 %setup -q
74 cp %{SOURCE1001} .
75 cp %{SOURCE1002} .
76 cp %{SOURCE1003} .
77 cp %{SOURCE1004} .
78 cp %{SOURCE1005} .
79 cp %{SOURCE1006} .
80
81 %build
82 %{!?build_type:%define build_type "Release"}
83 %cmake . -DPREFIX=%{_prefix} \
84         -DEXEC_PREFIX=%{_exec_prefix} \
85         -DLIBDIR=%{_libdir} \
86         -DINCLUDEDIR=%{_includedir} \
87         -DCMAKE_BUILD_TYPE=%{build_type} \
88         -DVERSION=%{version} \
89         -DFILTER_LISTED_PKG=ON \
90         -DPRIVACY_POPUP=OFF
91 make %{?_smp_mflags}
92
93 %install
94 mkdir -p %{buildroot}%{_prefix}/bin
95 cp res/usr/bin/* %{buildroot}%{_bindir}/
96 mkdir -p %{buildroot}%{TZ_SYS_DB}
97 cp res/opt/dbspace/.privacylist.db /%{buildroot}%{TZ_SYS_DB}
98 mkdir -p %{buildroot}%{_datadir}/privacy-manager/
99 cp res/usr/share/privacy-manager/privacy-filter-list.ini %{buildroot}%{_datadir}/privacy-manager/
100
101 %make_install
102
103 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
104 #install -m 0644 %{SOURCE1} %{buildroot}%{_libdir}/systemd/system/privacy-manager-server.service
105 #ln -sf /usr/lib/systemd/system/privacy-manager-server.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/privacy-manager-server.service
106
107
108 %post -n privacy-manager-server
109 /sbin/ldconfig
110
111 echo "Check privacy DB"
112 if [ ! -f %{TZ_SYS_DB}/.privacy.db ]
113 then
114         echo "Create privacy DB"
115         %{_bindir}/privacy_manager_create_clean_db.sh
116 fi
117 chsmack -a 'System::Shared' %{TZ_SYS_DB}/.privacy.db*
118 chsmack -a 'System::Shared' %{TZ_SYS_DB}/.privacylist.db*
119
120 %postun -p /sbin/ldconfig
121
122 %post -n privacy-manager-client -p /sbin/ldconfig
123
124 %postun -n privacy-manager-client -p /sbin/ldconfig
125
126 %post -n capi-security-privacy-manager -p /sbin/ldconfig
127
128 %postun -n capi-security-privacy-manager -p /sbin/ldconfig
129
130 %files -n privacy-manager-server
131 %defattr(-,root,root,-)
132 %license  LICENSE.APLv2
133 %manifest privacy-manager-server.manifest
134 %{_libdir}/libprivacy-manager-server.so*
135 %{TZ_SYS_DB}/.privacylist.db
136 /usr/bin/*
137
138 %files -n privacy-manager-server-devel
139 %{_includedir}/privacy_manager/server/privacy_manager_daemon.h
140 %{_libdir}/pkgconfig/privacy-manager-server.pc
141
142 %files -n privacy-manager-client
143 %defattr(-,root,root,-)
144 %license  LICENSE.APLv2
145 %manifest privacy-manager-client.manifest
146 %{_libdir}/libprivacy-manager-client.so*
147 %{_datadir}/privacy-manager/privacy-filter-list.ini
148 %{_sysconfdir}/package-manager/parserlib/libprivileges.so
149
150 %files -n privacy-manager-client-devel
151 %defattr(-,root,root,-)
152 %manifest privacy-manager-client-devel.manifest
153 %{_includedir}/*
154 %{_libdir}/pkgconfig/privacy-manager-client.pc
155
156
157 %files -n capi-security-privacy-manager
158 %license  LICENSE.APLv2
159 %{_libdir}/libcapi-security-privacy-manager.so.*
160 %manifest capi-security-privacy-manager.manifest
161
162 %files -n capi-security-privacy-manager-devel
163 %manifest capi-security-privacy-manager-devel.manifest
164 %{_includedir}/privacymgr/*.h
165 %{_libdir}/libcapi-security-privacy-manager.so
166 %{_libdir}/pkgconfig/capi-security-privacy-manager.pc