Added initial monitoring service for external interface
[platform/core/connectivity/wifi-mesh-manager.git] / packaging / meshd.spec
1 %define CHECK_MESH_PRIVILEGE False
2 %define UDEV_MONITOR False
3 %define NETLINK_MONITOR False
4 %define IOCTL_MONITOR False
5
6 Name:           meshd
7 Summary:        mesh network daemon
8 Version:        0.0.1
9 Release:        1
10 Group:      Network & Connectivity/Wireless
11 License:    Apache-2.0
12 Source0:        %{name}-%{version}.tar.gz
13 Source1:        dbus-meshd.conf
14 Source2:        net.mesh.service
15 Source3:        meshd.service
16 BuildRequires: pkgconfig(glib-2.0)
17 BuildRequires: pkgconfig(gio-2.0)
18 BuildRequires: pkgconfig(gio-unix-2.0)
19 #BuildRequires: pkgconfig(gudev-1.0)
20 BuildRequires: pkgconfig(dlog)
21 BuildRequires: pkgconfig(libnl-3.0)
22 BuildRequires: pkgconfig(dbus-1)
23 BuildRequires: pkgconfig(libcrypto)
24 BuildRequires: pkgconfig(libtzplatform-config)
25 BuildRequires: cmake
26 # if meshd do dhcp instead of connman
27 Requires: net-tools
28 Requires: toybox-symlinks-dhcp
29
30 %description
31 Manager for handling mesh network
32
33 %prep
34 %setup -q
35 chmod 644 %{SOURCE0}
36 chmod 644 %{SOURCE1}
37 chmod 644 %{SOURCE2}
38 chmod 644 %{SOURCE3}
39 %if %{CHECK_MESH_PRIVILEGE} == "True"
40 cp -a %{SOURCE1} ./meshd.conf
41 %endif
42 cp -a %{SOURCE2} .
43 cp -a %{SOURCE3} .
44
45 %build
46 CFLAGS=$(echo $CFLAGS | sed 's/-O2/-O0/' | sed 's/-O1/-O0/' | sed 's/-Wp,-D_FORTIFY_SOURCE=2//')
47 CXXFLAGS=$(echo $CXXFLAGS | sed 's/-O2/-O0/' | sed 's/-O1/-O0/' | sed 's/-Wp,-D_FORTIFY_SOURCE=2//')
48
49 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
50         -DTIZEN_FEATURE_MESH_ON_DEMAND=1 \
51         -DLIB_DIR=%{_libdir} \
52         -DBIN_DIR=%{_bindir} \
53         -DSBIN_DIR=%{_sbindir}
54
55 make %{?_smp_mflags}
56
57 %install
58 rm -rf %{buildroot}
59
60 %make_install
61
62 %if %{CHECK_MESH_PRIVILEGE} == "True"
63 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
64 cp meshd.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/meshd.conf
65 %endif
66 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services/
67 cp net.mesh.service %{buildroot}%{_datadir}/dbus-1/system-services/net.mesh.service
68 mkdir -p %{buildroot}%{_unitdir}
69 cp meshd.service %{buildroot}%{_unitdir}/meshd.service
70
71 %post
72 chmod 755 %{_sbindir}/mesh.sh
73
74 # For configuration files
75 mkdir -p %TZ_SYS_VAR/lib/mesh
76
77 %files
78 %manifest meshd.manifest
79 %license LICENSE
80 %defattr(-,root,root,-)
81 %caps(cap_net_raw,cap_net_admin=eip) %attr(750,system,system) %{_bindir}/meshd
82 %if %{CHECK_MESH_PRIVILEGE} == "True"
83 %config %{_sysconfdir}/dbus-1/system.d/meshd.conf
84 %endif
85 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
86 %attr(644,root,root) %{_unitdir}/meshd.service
87 %attr(750,root,root) %{_sbindir}/mesh.sh