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