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