Fix GVariant memory leak issue
[platform/core/telephony/tel-plugin-packetservice.git] / packaging / tel-plugin-packetservice.spec
1 # Do not create provides fro profile-tv because the main package
2 # should anchor any reverse-dependencies
3 %global __provides_exclude_from ^(.*\\.tv)$
4
5 %define major 0
6 %define minor 4
7 %define patchlevel 11
8
9 Name:           tel-plugin-packetservice
10 Version:        %{major}.%{minor}.%{patchlevel}
11 Release:        0
12 License:        Apache-2.0
13 Summary:        Telephony Packet Service library
14 Group:          System/Libraries
15 Source0:        tel-plugin-packetservice-%{version}.tar.gz
16 Source1:        tel-plugin-ps.conf
17 BuildRequires:  cmake
18 BuildRequires:  python
19 BuildRequires:  python-xml
20 #BuildRequires:  model-build-features
21 BuildRequires:  pkgconfig(gio-2.0)
22 BuildRequires:  pkgconfig(gio-unix-2.0)
23 BuildRequires:  pkgconfig(glib-2.0)
24 BuildRequires:  pkgconfig(libxml-2.0)
25 BuildRequires:  pkgconfig(iniparser)
26 BuildRequires:  pkgconfig(tcore)
27 BuildRequires:  pkgconfig(db-util)
28 BuildRequires:  pkgconfig(vconf)
29 BuildRequires:  pkgconfig(alarm-service)
30 BuildRequires:  pkgconfig(capi-system-device)
31 BuildRequires:  pkgconfig(libtzplatform-config)
32 BuildRequires:  pkgconfig(capi-system-info)
33 BuildRequires:  pkgconfig(tfeature)
34 Requires(post): /sbin/ldconfig
35 Requires(postun): /sbin/ldconfig
36 Requires:       %{name}-dbinit = %{version}-%{release}
37 Recommends:     %{name}-dbinit-profile_common = %{version}-%{release}
38
39 %description
40 Telephony Packet Service library
41
42 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
43 # if tv || "undefined"
44 %if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
45 # Extension for TV
46 %package profile_tv
47 Summary:        Extension for TV
48 Requires:       %{name} = %{version}-%{release}
49
50 %description profile_tv
51 Telephony Packet Service library Extension for TV
52 %endif # End of extension for TV
53
54 %package dbinit-profile_common
55 SUmmary:        DB Init Script for non-IVI (tel-plugin-packageservice)
56 Provides:       %{name}-dbinit = %{version}-%{release}
57 Provides:       %{name}-dbinit-profile_mobile = %{version}-%{release}
58 Provides:       %{name}-dbinit-profile_wearable = %{version}-%{release}
59 Conflicts:      %{name}-dbinit-profile_tv
60 Conflicts:      %{name}-dbinit-profile_ivi
61 %description dbinit-profile_common
62 Default DB init script for %{name} installation.
63 Common for common/mobile/wearable profiles.
64
65 %package dbinit-profile_tv
66 Summary:        DB Init Script for TV (tel-plugin-packetservice)
67 Provides:       %{name}-dbinit = %{version}-%{release}
68 Conflicts:      %{name}-dbinit-profile_common
69 %description dbinit-profile_tv
70 DB init script for %{name} installation specialized for tv profile.
71
72 %package dbinit-profile_ivi
73 Summary:        DB Init Script for IVI (tel-plugin-packetservice)
74 Provides:       %{name}-dbinit = %{version}-%{release}
75 Conflicts:      %{name}-dbinit-profile_common
76 %description dbinit-profile_ivi
77 DB init script for %{name} installation specialized for ivi profile.
78
79 %prep
80 %setup -q
81
82 %build
83
84 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
85 # if tv || "undefined"
86 %if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
87 # Extension for TV
88
89 %cmake . -DSYSCONFDIR=%{_sysconfdir} \
90         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
91         -DLIB_INSTALL_DIR=%{_libdir} \
92         -DPREPAID_SIM_APN_SUPPORT=1 \
93
94 make %{?_smp_mflags}
95
96 mkdir -p build_tv
97
98 %make_install
99
100 cp -a %{buildroot}%{_libdir}/telephony/plugins/ps-plugin* build_tv/
101
102 %endif # End of extension for TV
103
104 %cmake . -DSYSCONFDIR=%{_sysconfdir} \
105         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
106         -DLIB_INSTALL_DIR=%{_libdir} \
107         -DPREPAID_SIM_APN_SUPPORT=0 \
108
109 make %{?_smp_mflags}
110
111 %post
112 /sbin/ldconfig
113
114 #create db
115 mkdir -p %TZ_SYS_DB
116
117 if [ ! -f %TZ_SYS_DB/.dnet.db ]
118 then
119   sqlite3 %TZ_SYS_DB/.dnet.db < %{_datadir}/ps-plugin/dnet_db.sql
120   sqlite3 %TZ_SYS_DB/.dnet.db < %{_datadir}/ps-plugin/dnet_db_init.sql
121 fi
122 if [ ! -f %TZ_SYS_DB/.dnet2.db ]
123 then
124   sqlite3 %TZ_SYS_DB/.dnet2.db < %{_datadir}/ps-plugin/dnet_db.sql
125   sqlite3 %TZ_SYS_DB/.dnet2.db < %{_datadir}/ps-plugin/dnet_db_init.sql
126 fi
127
128 rm -f %{_datadir}/ps-plugin/dnet_db.sql
129
130 #change file permission
131 if [ -f %TZ_SYS_DB/.dnet.db ]
132 then
133         chmod 660 %TZ_SYS_DB/.dnet.db
134         chown telephony:telephony %TZ_SYS_DB/.dnet.db
135         chsmack -a System %TZ_SYS_DB/.dnet.db
136 fi
137
138 if [ -f %TZ_SYS_DB/.dnet.db-journal ]
139 then
140         chmod 664 %TZ_SYS_DB/.dnet.db-journal
141         chown telephony:telephony %TZ_SYS_DB/.dnet.db-journal
142         chsmack -a System %TZ_SYS_DB/.dnet.db-journal
143 fi
144
145 if [ -f %TZ_SYS_DB/.dnet2.db ]
146 then
147         chmod 660 %TZ_SYS_DB/.dnet2.db
148         chown telephony:telephony %TZ_SYS_DB/.dnet2.db
149         chsmack -a System %TZ_SYS_DB/.dnet2.db
150 fi
151
152 if [ -f %TZ_SYS_DB/.dnet2.db-journal ]
153 then
154         chmod 664 %TZ_SYS_DB/.dnet2.db-journal
155         chown telephony:telephony %TZ_SYS_DB/.dnet2.db-journal
156         chsmack -a System %TZ_SYS_DB/.dnet2.db-journal
157 fi
158
159 %postun -p /sbin/ldconfig
160
161 %post dbinit-profile_tv
162 mv %{_datadir}/ps-plugin/dnet_db_init.sql.tv %{_datadir}/ps-plugin/dnet_db_init.sql
163 %preun dbinit-profile_tv
164 mv %{_datadir}/ps-plugin/dnet_db_init.sql %{_datadir}/ps-plugin/dnet_db_init.sql.tv
165
166 %post dbinit-profile_ivi
167 mv %{_datadir}/ps-plugin/dnet_db_init.sql.ivi %{_datadir}/ps-plugin/dnet_db_init.sql
168 %preun dbinit-profile_ivi
169 mv %{_datadir}/ps-plugin/dnet_db_init.sql %{_datadir}/ps-plugin/dnet_db_init.sql.ivi
170
171 %install
172 %make_install
173 mkdir -p %{buildroot}/etc/dbus-1/system.d/
174 cp %{SOURCE1} %{buildroot}/etc/dbus-1/system.d/tel-plugin-ps.conf
175 cp resources/tv/dnet_db_init.sql %{buildroot}%{_datadir}/ps-plugin/dnet_db_init.sql.tv
176 cp resources/ivi/dnet_db_init.sql %{buildroot}%{_datadir}/ps-plugin/dnet_db_init.sql.ivi
177
178 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
179 # if tv || "undefined"
180 %if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
181 # Extension for TV
182 mv build_tv/ps-plugin.so %{buildroot}%{_libdir}/telephony/plugins/ps-plugin.so.tv
183
184 %post profile_tv
185 mv %{_libdir}/telephony/plugins/ps-plugin.so.tv %{_libdir}/telephony/plugins/ps-plugin.so
186 /sbin/ldconfig
187
188 %preun profile_tv
189 case "$1" in
190   0)
191     # This is an un-installation.
192         rm %{_libdir}/telephony/plugins/ps-plugin.so
193     /sbin/ldconfig
194   ;;
195   1)
196     # This is an upgrade.
197     # Do nothing.
198     :
199   ;;
200 esac
201
202 %files profile_tv
203 %manifest tel-plugin-packetservice.manifest
204 %{_libdir}/telephony/plugins/ps-plugin*.tv
205 %license LICENSE
206 %endif # End of extension for TV
207
208 %files
209 %manifest tel-plugin-packetservice.manifest
210 %defattr(644,root,root,-)
211 #%doc COPYING
212 %{_datadir}/ps-plugin/dnet_db.sql
213 %{_datadir}/ps-plugin/dnet_db_upgrade_24_30.sql
214 %{_datadir}/upgrade/scripts/500.dnet_db_upgrade_24_30.sh
215 #%{_datadir}/ps-plugin/apns-conf.xml
216 %{_libdir}/telephony/plugins/ps-plugin*
217 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
218 # if tv || "undefined"
219 %if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
220 # Extension for TV
221 %exclude %{_libdir}/telephony/plugins/ps-plugin*.tv
222 %endif # End of extension for TV
223 %license LICENSE
224 /etc/dbus-1/system.d/tel-plugin-ps.conf
225
226 %files dbinit-profile_common
227 %{_datadir}/ps-plugin/dnet_db_init.sql
228 %license LICENSE
229
230 %files dbinit-profile_tv
231 %{_datadir}/ps-plugin/dnet_db_init.sql.tv
232 %license LICENSE
233
234 %files dbinit-profile_ivi
235 %{_datadir}/ps-plugin/dnet_db_init.sql.ivi
236 %license LICENSE