a57b96a3ca05ffb2956bdf62c604a9ff51553afa
[platform/core/connectivity/net-config.git] / packaging / net-config.spec
1 Name:           net-config
2 Summary:        TIZEN Network Configuration service
3 Version:        1.1.122
4 Release:        2
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(post):         systemd
24 Requires(preun):        systemd
25 Requires(postun):       systemd
26 Provides:       %{name}-profile_common = %{version}-%{release}
27 Provides:       %{name}-profile_mobile = %{version}-%{release}
28 Provides:       %{name}-profile_wearable = %{version}-%{release}
29 Provides:       %{name}-profile_ivi = %{version}-%{release}
30
31 %description
32 TIZEN Network Configuration service
33
34 %package profile_tv
35 Summary:        net-config extension for TV profile
36 Requires:       %{name} = %{version}-%{release}
37 %description profile_tv
38 TIZEN Network Configuration service extension for Tizen TV profile.
39
40 %package profile_wearable
41 Summary:        net-config extension for wearable profile
42 Requires:       %{name} = %{version}-%{release}
43 %description profile_wearable
44 TIZEN Network Configuration service extension for Tizen wearable profile.
45
46 %package plugin-headed
47 Summary:        net-config extension for headed profile
48 BuildRequires:  pkgconfig(bundle)
49 BuildRequires:  pkgconfig(eventsystem)
50 BuildRequires:  pkgconfig(alarm-service)
51 BuildRequires:  pkgconfig(syspopup-caller)
52 BuildRequires:  pkgconfig(capi-appfw-application)
53 Requires:       %{name} = %{version}-%{release}
54 %description plugin-headed
55 TIZEN Network Configuration service extension for headed profile.
56
57 %package plugin-telephony
58 Summary:        net-config extension for telephony FW
59 BuildRequires:  pkgconfig(tapi)
60 Requires:       %{name} = %{version}-%{release}
61 %description plugin-telephony
62 TIZEN Network Configuration service extension for telephony FW.
63
64 %prep
65 %setup -q
66
67 # NOTE: the following macros are undefined.
68 # PLEASE DO NOT USE model_build_features in the future with Tizen 4.0+.
69 #{?model_build_feature_wlan_concurrent_mode}
70 #{?model_build_feature_wlan_p2p_disable}
71 #{?model_build_feature_network_tethering_disable}
72 #{?model_build_feature_wlan_wearable}
73 # In case, we have commercializing team using such unwelcomed
74 # macros in their productin build, we are keeping those.
75 # However, it is recommended to remove all if/endif with model_build_feature
76
77 # NOTE: Are we really going to make "mobile" == "SPRD"?
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         .
89
90 %make_install
91 mv %{buildroot}%{_bindir}/net-config %{_builddir}/%{name}-%{version}/net-config.wearable
92
93 make %{?_smp_mflags}
94
95
96 # Build for common packages
97 cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
98         -DTIZEN_WLAN_PASSPOINT=1 \
99         -DTIZEN_WLAN_USE_P2P_INTERFACE=1 \
100         -DTIZEN_DEBUG_ENABLE=1 \
101 %if 0%{?model_build_feature_wlan_concurrent_mode}
102         -DWLAN_CONCURRENT_MODE=1 \
103 %endif
104         -DTIZEN_WEARABLE=0 \
105         -DTIZEN_CAPTIVE_PORTAL=0 \
106         -DLIB_PATH=%{_lib} \
107         .
108
109 make %{?_smp_mflags}
110
111
112 %install
113 %make_install
114
115 #Systemd service file
116 mkdir -p %{buildroot}%{_libdir}/systemd/system/
117 %if "%{?_lib}" == "lib64"
118 mkdir -p %{buildroot}%{_unitdir}
119 %endif
120
121 cp resources/usr/lib/systemd/system/net-config_tv.service %{buildroot}%{_libdir}/systemd/system/net-config.service.tv
122 mkdir -p %{buildroot}%{_libdir}/udev/rules.d/
123 cp resources/usr/lib/udev/rules.d/99-wifiusb-dev.rules %{buildroot}%{_libdir}/udev/rules.d/99-wifiusb-dev.rules
124 %if "%{?_lib}" == "lib64"
125 cp resources/usr/lib/systemd/system/net-config_tv.service %{buildroot}%{_unitdir}/net-config.service.tv
126 %endif
127 cp resources/usr/lib/systemd/system/net-config.service %{buildroot}%{_libdir}/systemd/system/net-config.service
128 %if "%{?_lib}" == "lib64"
129 cp resources/usr/lib/systemd/system/net-config.service %{buildroot}%{_unitdir}/net-config.service
130 %endif
131
132 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/
133 ln -s ../net-config.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/net-config.service
134 %if "%{?_lib}" == "lib64"
135 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants/
136 ln -s ../net-config.service %{buildroot}%{_unitdir}/multi-user.target.wants/net-config.service
137 %endif
138
139 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services/
140 cp resources/usr/share/dbus-1/system-services/net.netconfig.service %{buildroot}%{_datadir}/dbus-1/system-services/net.netconfig.service
141
142 mkdir -p %{buildroot}%{TZ_SYS_ETC}
143 cp resources/etc/resolv.conf %{buildroot}%{TZ_SYS_ETC}/resolv.conf
144
145 mkdir -p %{buildroot}%{_sysconfdir}
146 ln -s %{TZ_SYS_ETC}/resolv.conf %{buildroot}%{_sysconfdir}/resolv.conf
147
148 #DBus DAC (net-config.manifest enables DBus SMACK)
149 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
150 cp resources/etc/dbus-1/system.d/net-config.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/net-config.conf
151
152 #log dump
153 mkdir -p %{buildroot}/opt/etc/dump.d/module.d/
154 cp resources/opt/etc/dump.d/module.d/network_dump.sh %{buildroot}/opt/etc/dump.d/module.d/network_dump.sh
155 mkdir -p %{buildroot}/opt/var/lib/net-config/
156 cp resources/opt/etc/dump.d/module.d/network_dump.sh %{buildroot}/opt/var/lib/net-config/network_dump.sh
157
158 #softreset scripts
159 mkdir -p %{buildroot}/usr/system/RestoreDir/softreset
160 cp resources/usr/system/RestoreDir/softreset/network_softreset.sh %{buildroot}/usr/system/RestoreDir/softreset/network_softreset.sh
161
162 mv %{_builddir}/%{name}-%{version}/net-config.wearable %{buildroot}%{_bindir}
163
164 %post
165 chsmack -a 'System::Shared' %{_sysconfdir}/resolv.conf
166 chsmack -a 'System::Shared' %{TZ_SYS_ETC}/resolv.conf
167
168 #Network logs
169 mkdir -p /opt/usr/data/network
170 chmod 755 /opt/usr/data/network
171 chown network_fw:network_fw /opt/usr/data/network
172 #chsmack -a 'System' /opt/usr/data/network
173
174 #Add net-config.service to systemd extra default dependency ignore list
175 mkdir -p %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
176 ln -sf %{_libdir}/systemd/system/net-config.service %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
177 %if "%{?_lib}" == "lib64"
178 ln -sf %{_unitdir}/net-config.service %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
179 %endif
180
181 #systemctl daemon-reload
182 #systemctl restart net-config.service
183
184 %preun
185 #systemctl stop net-config.service
186
187 %postun
188 #systemctl daemon-reload
189
190
191 %files
192 %manifest net-config.manifest
193 %attr(500,network_fw,network_fw) %{_bindir}/*
194 %attr(644,network_fw,network_fw) %{_sysconfdir}/resolv.conf
195 %attr(644,network_fw,network_fw) %{TZ_SYS_ETC}/resolv.conf
196 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
197 #DBus DAC
198 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
199 %attr(644,root,root) %{_libdir}/systemd/system/net-config.service
200 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/net-config.service
201 %attr(644,network_fw,network_fw) /usr/lib/tmpfiles.d/security-network-config.conf
202 %if "%{?_lib}" == "lib64"
203 %attr(644,root,root) %{_unitdir}/net-config.service
204 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/net-config.service
205 %endif
206 %license LICENSE
207 %attr(500,root,root) /opt/etc/dump.d/module.d/network_dump.sh
208 %attr(500,network_fw,network_fw) /opt/var/lib/net-config/network_dump.sh
209 %if 0%{?model_build_feature_wlan_wearable} == 1
210 %attr(700,network_fw,network_fw) /usr/system/RestoreDir/softreset/network_softreset.sh
211 %endif
212
213 #### tv profile ####
214 %post profile_tv
215 mv %{_libdir}/systemd/system/net-config.service.tv %{_libdir}/systemd/system/net-config.service
216 %if "%{?_lib}" == "lib64"
217 mv %{_unitdir}/net-config.service.tv %{_unitdir}/net-config.service
218 %endif
219
220 %files profile_tv
221 %attr(644,network_fw,network_fw) %{_libdir}/udev/rules.d/99-wifiusb-dev.rules
222 %attr(644,root,root) %{_libdir}/systemd/system/net-config.service.tv
223 %if "%{?_lib}" == "lib64"
224 %attr(644,root,root) %{_unitdir}/net-config.service.tv
225 %endif
226
227 #### wearable profile ####
228 %preun profile_wearable
229 rm %{_bindir}/net-config
230
231 %post profile_wearable
232 pushd %{_bindir}
233 mv net-config.wearable net-config
234
235 %files profile_wearable
236 %attr(644,root,root) %{_bindir}/net-config.wearable
237 %attr(644,network_fw,network_fw) /usr/system/RestoreDir/softreset/network_softreset.sh
238
239 #### plugin ####
240 %files plugin-headed
241 %manifest net-config.manifest
242 %attr(500,network_fw,network_fw) %{_libdir}/net-config-plugin-headed.so
243
244 %files plugin-telephony
245 %manifest net-config.manifest
246 %attr(500,network_fw,network_fw) %{_libdir}/net-config-plugin-telephony.so