Add Check logic
[platform/core/security/privacy-manager.git] / packaging / privacy-manager.spec
1 Name:    privacy-manager-server
2 Summary: Privacy Management
3 Version: 0.0.2
4 Release: 1
5 Group:   System/Libraries
6 License: SAMSUNG
7 Source0: %{name}-%{version}.tar.gz
8 Source1: privacy-manager-server.manifest
9 Source2: privacy-manager-client.manifest
10 Source3: privacy-manager-server.service
11 Source4: capi-security-privacy-manager.manifest
12 BuildRequires: cmake
13 BuildRequires: pkgconfig(dlog)
14 BuildRequires: pkgconfig(glib-2.0)
15 BuildRequires: pkgconfig(sqlite3)
16 BuildRequires: pkgconfig(capi-base-common)
17 BuildRequires: pkgconfig(dbus-1)
18 BuildRequires: pkgconfig(dbus-glib-1)
19
20 Requires(post):   /sbin/ldconfig
21 Requires(postun): /sbin/ldconfig
22
23 %description
24 Privacy Management
25
26 %package -n privacy-manager-server-devel
27 summary: privacy-manager server
28 Group: Development/Libraries
29 Requires: privacy-manager-server = %{version}-%{release}
30
31 %description -n privacy-manager-server-devel
32 privacy-manager server devel
33
34 %package -n privacy-manager-client
35 summary: privacy-manager client
36 Group: Development/Libraries
37 Requires: privacy-manager-server = %{version}-%{release}
38
39 %description -n privacy-manager-client
40 privacy-manager client
41
42 %package -n privacy-manager-client-devel
43 Summary:    privacy-manager client devel
44 Group:      Development/Libraries
45 BuildRequires:  pkgconfig(libxml-2.0)
46 Requires:   privacy-manager-client = %{version}-%{release}
47
48 %description -n privacy-manager-client-devel
49 Privacy Management(development files)
50
51 %package -n capi-security-privacy-manager
52 Summary:    Privacy Manager API
53 Version:    0.0.1
54 Release:    0
55 Group:      TO_BE/FILLED_IN
56 License:    TO BE FILLED IN
57 BuildRequires:  cmake
58 BuildRequires:  pkgconfig(dlog)
59 BuildRequires:  pkgconfig(capi-base-common)
60 BuildRequires:  pkgconfig(glib-2.0)
61 Requires(post): /sbin/ldconfig  
62 Requires(postun): /sbin/ldconfig
63 Requires: privacy-manager-client = %{version}-%{release}
64
65 %description -n capi-security-privacy-manager
66 The Privacy Manager API provides functions to get/set information about privacy information of installed packages.
67
68 %package  -n capi-security-privacy-manager-devel
69 Summary:  Privacy Manager API (Development)
70 Group:    TO_BE/FILLED_IN
71 Requires: privacy-manager-client = %{version}-%{release}
72
73 %description -n capi-security-privacy-manager-devel
74 The Privacy Manager API provides functions to get/set information about privacy information of installed packages.(DEV)
75
76 %prep
77 %setup -q
78
79 %build
80 #%{!?build_type:%define build_type "Release"}
81 echo cmake . -DPREFIX=%{_prefix} \
82         -DEXEC_PREFIX=%{_exec_prefix} \
83         -DLIBDIR=%{_libdir} \
84         -DINCLUDEDIR=%{_includedir} \
85         -DCMAKE_BUILD_TYPE=%{build_type}
86 cmake . -DPREFIX=%{_prefix} \
87         -DEXEC_PREFIX=%{_exec_prefix} \
88         -DLIBDIR=%{_libdir} \
89         -DINCLUDEDIR=%{_includedir} \
90         -DCMAKE_BUILD_TYPE=%{build_type}
91 make %{?jobs:-j%jobs}
92
93 %install
94 rm -rf %{buildroot}
95 mkdir -p %{buildroot}/usr/share/license
96 cp LICENSE.APLv2 %{buildroot}/usr/share/license/privacy-manager-server
97 mkdir -p %{buildroot}/usr/share/license
98 cp LICENSE.APLv2 %{buildroot}/usr/share/license/privacy-manager-client
99 mkdir -p %{buildroot}/usr/bin
100 cp res/usr/bin/* %{buildroot}/usr/bin/
101 mkdir -p %{buildroot}/opt/dbspace
102 cp res/opt/dbspace/.privacylist.db /%{buildroot}/opt/dbspace/
103 #mkdir -p %{buildroot}/etc/rc.d/init.d
104 #cp res/etc/rc.d/init.d/* %{buildroot}/etc/rc.d/init.d/
105
106 %make_install -n privacy-manager-client
107 install -D %{SOURCE2} %{buildroot}%{_datadir}/privacy-manager-client.manifest
108
109 %make_install -n privacy-manager
110 install -D %{SOURCE1} %{buildroot}%{_datadir}/privacy-manager-server.manifest
111
112 %make_install -n capi-security-privacy-manager
113 install -D %{SOURCE4} %{buildroot}%{_datadir}/capi-security-privacy-manager.manifest
114
115 #mkdir -p %{buildroot}/etc/rc.d/rc3.d
116 #mkdir -p %{buildroot}/etc/rc.d/rc5.d
117 #ln -sf res/etc/rc.d/init.d/privacy-manager-server.sh %{buildroot}/etc/rc.d/rc3.d/S10privacy-manager-server.sh
118 #ln -sf res/etc/rc.d/init.d/privacy-manager-server.sh %{buildroot}/etc/rc.d/rc5.d/S10privacy-manager-server.sh
119
120 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
121 install -m 0644 %{SOURCE3} %{buildroot}%{_libdir}/systemd/system/privacy-manager-server.service
122 ln -sf /usr/lib/systemd/system/privacy-manager-server.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/privacy-manager-server.service
123
124 %clean
125 rm -rf %{buildroot}
126
127 %post -n privacy-manager-server
128 /sbin/ldconfig
129
130 echo "Check privacy DB"
131 if [ ! -f /opt/dbspace/.privacy.db ]
132 then
133         echo "Create privacy DB"
134         /usr/bin/privacy_manager_create_clean_db.sh
135 fi
136
137 %postun
138 /sbin/ldconfig
139
140 %files -n privacy-manager-server
141 %defattr(-,root,root,-)
142 %manifest %{_datadir}/privacy-manager-server.manifest
143 %{_bindir}/*
144 %{_libdir}/systemd/*
145 #/etc/rc.d/init.d/privacy-manager-server.sh
146 #%attr(755,root,root) /etc/rc.d/init.d/privacy-manager-server.sh
147 #/etc/rc.d/rc3.d/S10privacy-manager-server.sh
148 #/etc/rc.d/rc5.d/S10privacy-manager-server.sh
149 /usr/share/license/privacy-manager-server
150
151 %files -n privacy-manager-server-devel
152 %{_libdir}/pkgconfig/privacy-manager-server.pc
153
154 %files -n privacy-manager-client
155 %defattr(-,root,root,-)
156 %manifest %{_datadir}/privacy-manager-client.manifest
157 %{_libdir}/libprivacy-manager-client.so*
158 /usr/share/license/privacy-manager-client
159 /usr/etc/package-manager/parserlib/libprivileges.so
160 /opt/dbspace/.privacylist.db
161
162 %files -n privacy-manager-client-devel
163 %defattr(-,root,root,-)
164 %{_includedir}/*
165 %{_libdir}/pkgconfig/privacy-manager-client.pc
166
167 %files -n capi-security-privacy-manager
168 %{_libdir}/libcapi-security-privacy-manager.so.*
169 %manifest %{_datadir}/capi-security-privacy-manager.manifest
170
171 %files -n capi-security-privacy-manager-devel
172 %{_includedir}/privacymgr/*.h
173 %{_libdir}/libcapi-security-privacy-manager.so
174 %{_libdir}/pkgconfig/capi-security-privacy-manager.pc