0dd7a6840cef1b985dee208061e497a4b4861c56
[platform/core/connectivity/net-config.git] / packaging / net-config.spec
1 Name:           net-config
2 Summary:        TIZEN Network Configuration service
3 Version:        1.1.147
4 Release:        3
5 Group:          System/Network
6 License:        Apache-2.0
7 Source0:        %{name}-%{version}.tar.gz
8 BuildRequires:  pkgconfig(dlog)
9 BuildRequires:  pkgconfig(vconf)
10 BuildRequires:  pkgconfig(gio-2.0)
11 BuildRequires:  pkgconfig(glib-2.0)
12 BuildRequires:  pkgconfig(capi-system-info)
13 BuildRequires:  pkgconfig(capi-vpnsvc)
14 BuildRequires:  cmake
15 BuildRequires:  pkgconfig(sqlite3)
16 BuildRequires:  pkgconfig(libtzplatform-config)
17 BuildRequires:  pkgconfig(key-manager)
18 BuildRequires:  pkgconfig(libnl-3.0)
19 BuildRequires:  pkgconfig(libnl-genl-3.0)
20 Requires:               vconf
21 Requires:               connman
22 Requires:               systemd
23 Requires:               security-config
24 Requires:               iproute2
25 Requires:               iptables
26 Requires:               tcpdump
27 Requires(post):         systemd
28 Requires(preun):        systemd
29 Requires(postun):       systemd
30 Provides:       %{name}-profile_common = %{version}-%{release}
31 Provides:       %{name}-profile_mobile = %{version}-%{release}
32 Provides:       %{name}-profile_wearable = %{version}-%{release}
33 Provides:       %{name}-profile_ivi = %{version}-%{release}
34
35 %description
36 TIZEN Network Configuration service
37
38 %package profile_tv
39 Summary:        net-config extension for TV profile
40 Requires:       %{name} = %{version}-%{release}
41 %description profile_tv
42 TIZEN Network Configuration service extension for Tizen TV profile.
43
44 %package profile_wearable
45 Summary:        net-config extension for wearable profile
46 Requires:       %{name} = %{version}-%{release}
47 %description profile_wearable
48 TIZEN Network Configuration service extension for Tizen wearable profile.
49
50 %package plugin-headed
51 Summary:        net-config extension for headed profile
52 BuildRequires:  pkgconfig(bundle)
53 BuildRequires:  pkgconfig(eventsystem)
54 BuildRequires:  pkgconfig(alarm-service)
55 BuildRequires:  pkgconfig(syspopup-caller)
56 BuildRequires:  pkgconfig(capi-appfw-application)
57 Requires:       %{name} = %{version}-%{release}
58 %description plugin-headed
59 TIZEN Network Configuration service extension for headed profile.
60
61 %package plugin-telephony
62 Summary:        net-config extension for telephony FW
63 BuildRequires:  pkgconfig(tapi)
64 Requires:       %{name} = %{version}-%{release}
65 %description plugin-telephony
66 TIZEN Network Configuration service extension for telephony FW.
67
68 %package plugin-stc
69 Summary:        net-config extension for STC FW
70 BuildRequires:  pkgconfig(capi-network-stc)
71 Requires:       %{name} = %{version}-%{release}
72 %description plugin-stc
73 TIZEN Network Configuration service extension for STC FW.
74
75 %package plugin-battery
76 Summary:        net-config extension for battery FW
77 Requires:       %{name} = %{version}-%{release}
78 %description plugin-battery
79 TIZEN Network Configuration service extension for battery FW.
80
81 %package haltests
82 Summary:        net-config extension for HAL test
83 BuildRequires:  pkgconfig(gmock)
84 BuildRequires:  pkgconfig(capi-network-wifi-manager)
85 BuildRequires:  pkgconfig(capi-network-wifi-direct)
86 BuildRequires:  pkgconfig(capi-network-softap)
87 Requires:       %{name} = %{version}-%{release}
88 %description haltests
89 TIZEN Network Configuration service extension for HAL test.
90
91 %prep
92 %setup -q
93
94 %build
95 # Build for wearable
96 cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
97         -DTIZEN_WLAN_PASSPOINT=1 \
98         -DTIZEN_WLAN_USE_P2P_INTERFACE=1 \
99         -DTIZEN_DEBUG_ENABLE=0 \
100         -DTIZEN_WEARABLE=1 \
101         -DTIZEN_CAPTIVE_PORTAL=1 \
102         -DLIB_PATH=%{_lib} \
103         -DBIN_DIR=%{_bindir} \
104         -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \
105         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} \
106         .
107
108 %make_install
109 mv %{buildroot}%{_bindir}/net-config %{_builddir}/%{name}-%{version}/net-config.wearable
110
111 make %{?_smp_mflags}
112
113
114 # Build for common packages
115 cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
116         -DTIZEN_WLAN_PASSPOINT=1 \
117         -DTIZEN_WLAN_USE_P2P_INTERFACE=1 \
118         -DTIZEN_DEBUG_ENABLE=0 \
119         -DTIZEN_WEARABLE=0 \
120         -DTIZEN_CAPTIVE_PORTAL=0 \
121         -DLIB_PATH=%{_lib} \
122         -DBIN_DIR=%{_bindir} \
123         -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \
124         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} \
125         .
126
127 make %{?_smp_mflags}
128
129
130 %install
131 %make_install
132
133 #Systemd service file
134 mkdir -p %{buildroot}%{_libdir}/systemd/system/
135 %if "%{?_lib}" == "lib64"
136 mkdir -p %{buildroot}%{_unitdir}
137 %endif
138
139 cp resources/usr/lib/systemd/system/net-config_tv.service %{buildroot}%{_libdir}/systemd/system/net-config.service.tv
140 mkdir -p %{buildroot}%{_libdir}/udev/rules.d/
141 cp resources/usr/lib/udev/rules.d/99-wifiusb-dev.rules %{buildroot}%{_libdir}/udev/rules.d/99-wifiusb-dev.rules
142 %if "%{?_lib}" == "lib64"
143 cp resources/usr/lib/systemd/system/net-config_tv.service %{buildroot}%{_unitdir}/net-config.service.tv
144 %endif
145 cp resources/usr/lib/systemd/system/net-config.service %{buildroot}%{_libdir}/systemd/system/net-config.service
146 %if "%{?_lib}" == "lib64"
147 cp resources/usr/lib/systemd/system/net-config.service %{buildroot}%{_unitdir}/net-config.service
148 %endif
149
150 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/
151 ln -s ../net-config.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/net-config.service
152 %if "%{?_lib}" == "lib64"
153 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants/
154 ln -s ../net-config.service %{buildroot}%{_unitdir}/multi-user.target.wants/net-config.service
155 %endif
156
157 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services/
158 cp resources/usr/share/dbus-1/system-services/net.netconfig.service %{buildroot}%{_datadir}/dbus-1/system-services/net.netconfig.service
159
160 mkdir -p %{buildroot}%{TZ_SYS_ETC}
161 cp resources/etc/resolv.conf %{buildroot}%{TZ_SYS_ETC}/resolv.conf
162
163 mkdir -p %{buildroot}%{_sysconfdir}
164 ln -s %{TZ_SYS_ETC}/resolv.conf %{buildroot}%{_sysconfdir}/resolv.conf
165
166 #DBus DAC (net-config.manifest enables DBus SMACK)
167 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
168 cp resources/etc/dbus-1/system.d/net-config.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/net-config.conf
169
170 #log dump
171 mkdir -p %{buildroot}/opt/etc/dump.d/module.d/
172 cp resources/opt/etc/dump.d/module.d/network_dump.sh %{buildroot}/opt/etc/dump.d/module.d/network_dump.sh
173 cp resources/opt/etc/dump.d/module.d/network_log_dump.sh %{buildroot}/opt/etc/dump.d/module.d/network_log_dump.sh
174 mkdir -p %{buildroot}/opt/var/lib/net-config/
175 cp resources/opt/etc/dump.d/module.d/network_dump.sh %{buildroot}/opt/var/lib/net-config/network_dump.sh
176 cp resources/opt/etc/dump.d/module.d/network_log_dump.sh %{buildroot}/opt/var/lib/net-config/network_log_dump.sh
177
178 #softreset scripts
179 mkdir -p %{buildroot}/usr/system/RestoreDir/softreset
180 cp resources/usr/system/RestoreDir/softreset/network_softreset.sh %{buildroot}/usr/system/RestoreDir/softreset/network_softreset.sh
181
182 mv %{_builddir}/%{name}-%{version}/net-config.wearable %{buildroot}%{_bindir}
183
184 %post
185 chsmack -a 'System::Shared' %{_sysconfdir}/resolv.conf
186 chsmack -a 'System::Shared' %{TZ_SYS_ETC}/resolv.conf
187
188 #Network logs
189 mkdir -p /opt/usr/data/network
190 chmod 755 /opt/usr/data/network
191 chown network_fw:network_fw /opt/usr/data/network
192 #chsmack -a 'System' /opt/usr/data/network
193
194 #systemctl daemon-reload
195 #systemctl restart net-config.service
196
197 %preun
198 #systemctl stop net-config.service
199
200 %postun
201 #systemctl daemon-reload
202
203
204 %files
205 %manifest net-config.manifest
206 %attr(500,network_fw,network_fw) %{_bindir}/*
207 %exclude %{_bindir}/net-config.wearable
208 %exclude %{_bindir}/net-config-haltests
209 %attr(644,network_fw,network_fw) %{_sysconfdir}/resolv.conf
210 %attr(644,network_fw,network_fw) %{TZ_SYS_ETC}/resolv.conf
211 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
212 #DBus DAC
213 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
214 %attr(644,root,root) %{_libdir}/systemd/system/net-config.service
215 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/net-config.service
216 %attr(644,root,root) /usr/lib/tmpfiles.d/security-network-config.conf
217 %if "%{?_lib}" == "lib64"
218 %attr(644,root,root) %{_unitdir}/net-config.service
219 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/net-config.service
220 %endif
221 %license LICENSE
222 %attr(750,network_fw,network_fw) /opt/etc/dump.d/module.d/network_dump.sh
223 %attr(750,network_fw,network_fw) /opt/var/lib/net-config/network_dump.sh
224 %attr(750,network_fw,network_fw) /opt/etc/dump.d/module.d/network_log_dump.sh
225 %attr(750,network_fw,network_fw) /opt/var/lib/net-config/network_log_dump.sh
226
227 #### tv profile ####
228 %post profile_tv
229 mv %{_libdir}/systemd/system/net-config.service.tv %{_libdir}/systemd/system/net-config.service
230 %if "%{?_lib}" == "lib64"
231 mv %{_unitdir}/net-config.service.tv %{_unitdir}/net-config.service
232 %endif
233
234 %files profile_tv
235 %attr(644,root,root) %{_libdir}/udev/rules.d/99-wifiusb-dev.rules
236 %attr(644,root,root) %{_libdir}/systemd/system/net-config.service.tv
237 %if "%{?_lib}" == "lib64"
238 %attr(644,root,root) %{_unitdir}/net-config.service.tv
239 %endif
240
241 #### wearable profile ####
242 %preun profile_wearable
243 rm %{_bindir}/net-config
244
245 %post profile_wearable
246 pushd %{_bindir}
247 mv net-config.wearable net-config
248
249 %files profile_wearable
250 %attr(500,network_fw,network_fw) %{_bindir}/net-config.wearable
251 %attr(644,network_fw,network_fw) /usr/system/RestoreDir/softreset/network_softreset.sh
252
253 #### plugin ####
254 %files plugin-headed
255 %manifest net-config.manifest
256 %attr(500,network_fw,network_fw) %{_libdir}/net-config-plugin-headed.so
257
258 %files plugin-telephony
259 %manifest net-config.manifest
260 %attr(500,network_fw,network_fw) %{_libdir}/net-config-plugin-telephony.so
261
262 %files plugin-stc
263 %manifest net-config.manifest
264 %attr(500,network_fw,network_fw) %{_libdir}/net-config-plugin-stc.so
265
266 %files plugin-battery
267 %manifest net-config.manifest
268 %attr(500,network_fw,network_fw) %{_libdir}/net-config-plugin-battery.so
269
270 %files haltests
271 %manifest net-config.manifest
272 %{_bindir}/*haltests
273