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