[net-config]: Add support of new methods related to autoscan
[platform/core/connectivity/net-config.git] / packaging / net-config.spec
index 45570f5..c5ca245 100755 (executable)
@@ -1,6 +1,6 @@
 Name:          net-config
 Summary:       TIZEN Network Configuration service
-Version:       1.1.37
+Version:       1.1.101
 Release:       2
 Group:         System/Network
 License:       Apache-2.0
@@ -8,30 +8,62 @@ Source0:      %{name}-%{version}.tar.gz
 BuildRequires: pkgconfig(dlog)
 BuildRequires: pkgconfig(tapi)
 BuildRequires: pkgconfig(vconf)
-BuildRequires: pkgconfig(bundle)
 BuildRequires: pkgconfig(gio-2.0)
 BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(eventsystem)
-BuildRequires: pkgconfig(alarm-service)
-BuildRequires: pkgconfig(syspopup-caller)
 BuildRequires: pkgconfig(capi-system-info)
-BuildRequires: pkgconfig(capi-appfw-application)
 BuildRequires: pkgconfig(capi-network-wifi-direct)
+BuildRequires: pkgconfig(capi-vpnsvc)
 BuildRequires: cmake
+BuildRequires: pkgconfig(sqlite3)
+BuildRequires: pkgconfig(libtzplatform-config)
 Requires:              vconf
 Requires:              connman
 Requires:              systemd
 Requires(post):                systemd
-Requires(post):                vconf
 Requires(preun):       systemd
 Requires(postun):      systemd
+Provides:       %{name}-profile_common = %{version}-%{release}
+Provides:       %{name}-profile_mobile = %{version}-%{release}
+Provides:       %{name}-profile_wearable = %{version}-%{release}
+Provides:       %{name}-profile_ivi = %{version}-%{release}
+
+%define upgrade_script_path /usr/share/upgrade/scripts
 
 %description
 TIZEN Network Configuration service
 
+%package profile_tv
+Summary:        net-config extension for TV profile
+Requires:       %{name} = %{version}-%{release}
+%description profile_tv
+TIZEN Network Configuration service extension for Tizen TV profile.
+
+%package plugin-headed
+Summary:        net-config extension for headed profile
+BuildRequires: pkgconfig(bundle)
+BuildRequires: pkgconfig(eventsystem)
+BuildRequires: pkgconfig(alarm-service)
+BuildRequires: pkgconfig(syspopup-caller)
+BuildRequires: pkgconfig(capi-appfw-application)
+Requires:       %{name} = %{version}-%{release}
+%description plugin-headed
+TIZEN Network Configuration service extension for headed profile.
+
 %prep
 %setup -q
 
+# NOTE: the following macros are undefined.
+# PLEASE DO NOT USE model_build_features in the future with Tizen 4.0+.
+#{?model_build_feature_wlan_concurrent_mode}
+#{?model_build_feature_wlan_p2p_disable}
+#{?model_build_feature_network_tethering_disable}
+#{?model_build_feature_wlan_wearable}
+# In case, we have commercializing team using such unwelcomed
+# macros in their productin build, we are keeping those.
+# However, it is recommended to remove all if/endif with model_build_feature
+
+# NOTE: Are we really going to make "mobile" == "SPRD"?
+
 %build
 cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
        -DTIZEN_WLAN_PASSPOINT=1 \
@@ -45,13 +77,11 @@ cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
 %if ! 0%{?model_build_feature_network_tethering_disable}
        -DTIZEN_TETHERING_ENABLE=1 \
 %endif
-%if "%{profile}" == "tv"
-       -DTIZEN_TV=1 \
-%endif
 %if 0%{?model_build_feature_wlan_wearable} == 1
        -DTIZEN_WEARABLE=1 \
        -DTIZEN_CAPTIVE_PORTAL=1 \
 %endif
+        -DLIB_PATH=%{_lib} \
        .
 
 make %{?_smp_mflags}
@@ -66,16 +96,16 @@ mkdir -p %{buildroot}%{_libdir}/systemd/system/
 mkdir -p %{buildroot}%{_unitdir}
 %endif
 
-%if "%{profile}" == "tv"
-cp resources/usr/lib/systemd/system/net-config_tv.service %{buildroot}%{_libdir}/systemd/system/net-config.service
+cp resources/usr/lib/systemd/system/net-config_tv.service %{buildroot}%{_libdir}/systemd/system/net-config.service.tv
 mkdir -p %{buildroot}%{_libdir}/udev/rules.d/
 cp resources/usr/lib/udev/rules.d/99-wifiusb-dev.rules %{buildroot}%{_libdir}/udev/rules.d/99-wifiusb-dev.rules
-%else
+%if "%{?_lib}" == "lib64"
+cp resources/usr/lib/systemd/system/net-config_tv.service %{buildroot}%{_unitdir}/net-config.service.tv
+%endif
 cp resources/usr/lib/systemd/system/net-config.service %{buildroot}%{_libdir}/systemd/system/net-config.service
 %if "%{?_lib}" == "lib64"
 cp resources/usr/lib/systemd/system/net-config.service %{buildroot}%{_unitdir}/net-config.service
 %endif
-%endif
 
 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/
 ln -s ../net-config.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/net-config.service
@@ -87,26 +117,16 @@ ln -s ../net-config.service %{buildroot}%{_unitdir}/multi-user.target.wants/net-
 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services/
 cp resources/usr/share/dbus-1/system-services/net.netconfig.service %{buildroot}%{_datadir}/dbus-1/system-services/net.netconfig.service
 
-mkdir -p %{buildroot}%{_sysconfdir}/
-cp resources/etc/resolv.conf %{buildroot}%{_sysconfdir}/resolv.conf
-
-mkdir -p %{buildroot}%{_sbindir}/
-cp resources/usr/sbin/net-config.service %{buildroot}%{_sbindir}/net-config.service
+mkdir -p %{buildroot}%{TZ_SYS_ETC}
+cp resources/etc/resolv.conf %{buildroot}%{TZ_SYS_ETC}/resolv.conf
 
-mkdir -p %{buildroot}/usr/dbspace
-sqlite3 %{buildroot}/usr/dbspace/.wifi_offload.db < resources/usr/share/wifi_offloading.sql
+mkdir -p %{buildroot}%{_sysconfdir}
+ln -s %{TZ_SYS_ETC}/resolv.conf %{buildroot}%{_sysconfdir}/resolv.conf
 
 #DBus DAC (net-config.manifest enables DBus SMACK)
 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
 cp resources/etc/dbus-1/system.d/net-config.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/net-config.conf
 
-#log dump
-mkdir -p %{buildroot}/opt/etc/dump.d/module.d/
-cp resources/opt/etc/dump.d/module.d/network_log_dump.sh %{buildroot}/opt/etc/dump.d/module.d/network_log_dump.sh
-mkdir -p %{buildroot}/opt/var/lib/net-config/
-cp resources/opt/etc/dump.d/module.d/network_log_dump.sh %{buildroot}/opt/var/lib/net-config/network_log_dump.sh
-cp resources/opt/etc/dump.d/module.d/network_dump.sh %{buildroot}/opt/var/lib/net-config/network_dump.sh
-
 %if 0%{?model_build_feature_wlan_wearable} == 1
 #softreset scripts
 mkdir -p %{buildroot}/usr/system/RestoreDir/softreset
@@ -117,44 +137,18 @@ cp resources/usr/system/RestoreDir/softreset/network_softreset.sh %{buildroot}/u
 mkdir -p %{buildroot}%{_datadir}/license
 cp LICENSE %{buildroot}%{_datadir}/license/net-config
 
-%post
+#OS Upgrade
+mkdir -p %{buildroot}%{upgrade_script_path}
+cp -f scripts/500.netconfig_upgrade.sh %{buildroot}%{upgrade_script_path}
 
-%if "%{profile}" == "tv"
-vconftool set -t string db/dnet/mac_address "" -s system::vconf_network
-%endif
-
-#Wi-Fi statistics
-vconftool set -t int db/dnet/statistics/wifi/totalsnt 0 -s tizen::vconf::network
-vconftool set -t int db/dnet/statistics/wifi/totalrcv 0 -s tizen::vconf::network
-vconftool set -t int db/dnet/statistics/wifi/lastsnt 0 -s tizen::vconf::network
-vconftool set -t int db/dnet/statistics/wifi/lastrcv 0 -s tizen::vconf::network
-
-#Wi-Fi last power state
-vconftool set -t int file/private/wifi/last_power_state 0 -s system::vconf_network
-
-#Wi-Fi power state due to airplane mode
-vconftool set -t int file/private/wifi/wifi_off_by_airplane 0 -s system::vconf_network
-
-#Wi-Fi power state due to restricted mode
-vconftool set -t int file/private/wifi/wifi_off_by_restricted 0 -s system::vconf_network
-
-#Wi-Fi power state due to emergency mode
-vconftool set -t int file/private/wifi/wifi_off_by_emergency 0 -s system::vconf_network
-
-#Wi-Fi sleep policy
-vconftool set -t int file/private/wifi/sleep_policy 0 -g 6519 -s system::vconf_setting
-
-%if 0%{?model_build_feature_wlan_wearable} == 1
-#Wearable use Wi-Fi
-vconftool set -t int db/private/wifi/wearable_wifi_use 0 -g 6519 -s net-config
-%endif
-
-#Wi-Fi Network Frequency for Wi-Fi Direct
-vconftool set -t int memory/private/wifi/frequency 0 -i -s tizen::vconf::platform::r
+%post
+chsmack -a 'System::Shared' %{_sysconfdir}/resolv.conf
+chsmack -a 'System::Shared' %{TZ_SYS_ETC}/resolv.conf
 
 #Network logs
-mkdir -p /opt/usr/data/network
-chmod 755 /opt/usr/data/network
+#mkdir -p /opt/usr/data/network
+#chmod 755 /opt/usr/data/network
+#chsmack -a 'System' /opt/usr/data/network
 
 #Add net-config.service to systemd extra default dependency ignore list
 mkdir -p %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
@@ -177,6 +171,7 @@ ln -sf %{_unitdir}/net-config.service %{_sysconfdir}/systemd/default-extra-depen
 %manifest net-config.manifest
 %attr(500,root,root) %{_sbindir}/*
 %attr(644,root,root) %{_sysconfdir}/resolv.conf
+%attr(644,root,root) %{TZ_SYS_ETC}/resolv.conf
 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
 #DBus DAC
 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
@@ -187,15 +182,23 @@ ln -sf %{_unitdir}/net-config.service %{_sysconfdir}/systemd/default-extra-depen
 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/net-config.service
 %endif
 %{_datadir}/license/net-config
-%attr(660,root,root) /usr/dbspace/.wifi_offload.db
-%attr(664,root,root) /usr/dbspace/.wifi_offload.db-journal
-%attr(500,root,root) /opt/etc/dump.d/module.d/network_log_dump.sh
-%attr(500,root,root) /opt/var/lib/net-config/network_log_dump.sh
-%attr(500,root,root) /opt/var/lib/net-config/network_dump.sh
-%if "%{profile}" == "tv"
-%attr(644,root,root) %{_libdir}/udev/rules.d/99-wifiusb-dev.rules
-%endif
 %if 0%{?model_build_feature_wlan_wearable} == 1
 %attr(700,root,root) /usr/system/RestoreDir/softreset/network_softreset.sh
+%endif
+%{upgrade_script_path}/500.netconfig_upgrade.sh
 
+%post profile_tv
+mv %{_libdir}/systemd/system/net-config.service.tv %{_libdir}/systemd/system/net-config.service
+%if "%{?_lib}" == "lib64"
+mv %{_unitdir}/net-config.service.tv %{_unitdir}/net-config.service
 %endif
+%files profile_tv
+%attr(644,root,root) %{_libdir}/udev/rules.d/99-wifiusb-dev.rules
+%attr(644,root,root) %{_libdir}/systemd/system/net-config.service.tv
+%if "%{?_lib}" == "lib64"
+%attr(644,root,root) %{_unitdir}/net-config.service.tv
+%endif
+
+%files plugin-headed
+%manifest net-config.manifest
+%attr(500,root,root) %{_libdir}/net-config-plugin-headed.so