-%define contentdir %{_datadir}/netdata
+%global contentdir %{_datadir}/netdata
%if 0%{?suse_version}
-%define distro_post %service_add_post netdata.service
-%define distro_preun %service_del_preun netdata.service
-%define distro_postun %service_del_postun netdata.service
-%define distro_buildrequires BuildRequires:\ systemd-rpm-macros
+%global distro_post %service_add_post netdata.service
+%global distro_preun %service_del_preun netdata.service
+%global distro_postun %service_del_postun netdata.service
+%global distro_buildrequires BuildRequires:\ systemd-rpm-macros
%else
-%define distro_post %systemd_post netdata.service
-%define distro_preun %systemd_preun netdata.service
-%define distro_postun %systemd_postun_with_restart netdata.service
-%define distro_buildrequires %{nil}
+%global distro_post %systemd_post netdata.service
+%global distro_preun %systemd_preun netdata.service
+%global distro_postun %systemd_postun_with_restart netdata.service
+%global distro_buildrequires %{nil}
%endif
# This is temporary and should eventually be resolved. This bypasses
# the default rhel __os_install_post which throws a python compile
# error.
-%define __os_install_post %{nil}
+%global __os_install_post %{nil}
#
# Conditional build:
BuildRequires: xz
BuildRequires: zlib-devel
BuildRequires: libuuid-devel
-Requires: zlib
-Requires: libuuid
+Requires: zlib
+Requires: libuuid
+Requires(post): libcap
+Recommends: curl
+Recommends: iproute-tc
+Recommends: lm_sensors
+Recommends: nmap-ncat
+Recommends: nodejs
+Recommends: python
+Recommends: PyYAML
+Recommends: python2-PyMySQL
+Recommends: python2-psycopg2
# Packages can be found in the EPEL repo
%if %{with nfacct}
Requires(post): chkconfig
%endif
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-
%description
netdata is the fastest way to visualize metrics. It is a resource
efficient, highly optimized system for collecting and visualizing any
happened, on your systems and applications.
%prep
-%setup -q -n %{name}-@PACKAGE_VERSION@
+%setup -q
%build
%configure \
%{__make} %{?_smp_mflags}
%install
-rm -rf $RPM_BUILD_ROOT
-%{__make} %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT install
+rm -rf "${RPM_BUILD_ROOT}"
+%{__make} %{?_smp_mflags} DESTDIR="${RPM_BUILD_ROOT}" install
-find $RPM_BUILD_ROOT -name .keep -print0 | xargs --null --no-run-if-empty rm
+find "${RPM_BUILD_ROOT}" -name .keep -delete
-install -m 644 -p system/netdata.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
-install -Dm 644 -p system/netdata.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
+install -m 644 -p system/netdata.conf "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}"
+install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d"
+install -m 644 -p system/netdata.logrotate "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}"
%if %{with systemd}
-install -d $RPM_BUILD_ROOT%{_unitdir}
-install -m 644 -p system/netdata.service $RPM_BUILD_ROOT%{_unitdir}/netdata.service
+install -m 755 -d "${RPM_BUILD_ROOT}%{_unitdir}"
+install -m 644 -p system/netdata.service "${RPM_BUILD_ROOT}%{_unitdir}/netdata.service"
%else
# install SYSV init stuff
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
-install -m755 system/netdata-init-d \
- $RPM_BUILD_ROOT/etc/rc.d/init.d/netdata
+install -d "${RPM_BUILD_ROOT}/etc/rc.d/init.d"
+install -m 755 system/netdata-init-d \
+ "${RPM_BUILD_ROOT}/etc/rc.d/init.d/netdata"
%endif
%if %{with systemd}
-s /sbin/nologin -r -d %{contentdir} netdata 2> /dev/null || :
%post
-o%distro_post
+%distro_post
+setcap cap_dac_read_search,cap_sys_ptrace+ep /usr/libexec/netdata/plugins.d/apps.plugin || chmod 1755 /usr/libexec/netdata/plugins.d/apps.plugin
%preun
%distro_preun
%pre
# Add the "netdata" user
getent group netdata >/dev/null || groupadd -r netdata
+getent group docker >/dev/null || groupadd -r docker
getent passwd netdata >/dev/null || \
- useradd -r -g netdata -s /sbin/nologin \
+ useradd -r -g netdata -G docker -s /sbin/nologin \
-d %{contentdir} -c "netdata" netdata
exit 0
%post
+setcap cap_dac_read,cap_sys_ptrace+ep /usr/libexec/netdata/plugins.d/apps.plugin || chmod 1755 /usr/libexec/netdata/plugins.d/apps.plugin
# Register the netdata service
/sbin/chkconfig --add netdata
# Only gets run on initial install (not upgrades or uninstalls)
%endif
%clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf "${RPM_BUILD_ROOT}"
%files
+%doc README.md
%defattr(-,root,root)
%dir %{_sysconfdir}/%{name}
-%dir %{_sysconfdir}/%{name}/health.d
-%dir %{_sysconfdir}/%{name}/python.d
%config(noreplace) %{_sysconfdir}/%{name}/*.conf
-#%config(noreplace) %{_sysconfdir}/%{name}/charts.d/*.conf
+%config(noreplace) %{_sysconfdir}/%{name}/charts.d/*.conf
%config(noreplace) %{_sysconfdir}/%{name}/health.d/*.conf
-#%config(noreplace) %{_sysconfdir}/%{name}/node.d/*.conf
+#%%config(noreplace) %{_sysconfdir}/%{name}/node.d/*.conf
%config(noreplace) %{_sysconfdir}/%{name}/python.d/*.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
-# node.js config files are JSON (which do not support comments)
-# so, we only supply markdown files
+# To be eventually moved to %%_defaultdocdir
%{_sysconfdir}/%{name}/node.d/*.md
+%caps(cap_dac_read_search,cap_sys_ptrace=ep) %{_libexecdir}/%{name}/plugins.d/apps.plugin
+
%{_libexecdir}/%{name}
%{_sbindir}/%{name}
%attr(0700,netdata,netdata) %dir %{_localstatedir}/lib/%{name}
%dir %{_datadir}/%{name}
+%dir %{_sysconfdir}/%{name}/health.d
+%dir %{_sysconfdir}/%{name}/python.d
%if %{with systemd}
%{_unitdir}/netdata.service
%{_datadir}/%{name}/web
%changelog
+* Sun Jan 22 2017 Costa Tsaousis <costa@tsaousis.gr> - 1.5.0-1
+- FreeBSD, MacOS, FreeNAS
+- Backends support
+- dozens of new and improved plugins
+- dozens of new and improved alarms and notification methods
* Tue Oct 4 2016 Costa Tsaousis <costa@tsaousis.gr> - 1.4.0-1
- the fastest netdata ever (with a better look too)!
- improved IoT and containers support!