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