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