]> arthur.barton.de Git - netdata.git/blobdiff - netdata.spec.in
spec: quote all + perm all
[netdata.git] / netdata.spec.in
index 0bb0f3c65e40d9adad511f1aad86fb1690c0ae02..e056aa6919db16fc1d55c25b2090250df2719823 100644 (file)
@@ -1,20 +1,20 @@
-%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:
@@ -39,8 +39,18 @@ BuildRequires:       pkgconfig
 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}
@@ -65,8 +75,6 @@ Requires(post):   systemd-units
 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
@@ -78,7 +86,7 @@ so that you can get insights of what is happening now and what just
 happened, on your systems and applications.
 
 %prep
-%setup -q -n %{name}-@PACKAGE_VERSION@
+%setup -q
 
 %build
 %configure \
@@ -89,22 +97,23 @@ happened, on your systems and applications.
 %{__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}
@@ -115,7 +124,8 @@ install -m755 system/netdata-init-d \
         -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
@@ -126,12 +136,14 @@ o%distro_post
 %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)
@@ -158,26 +170,26 @@ exit 0
 %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}
 
@@ -186,6 +198,8 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -199,6 +213,11 @@ rm -rf $RPM_BUILD_ROOT
 %{_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!