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