]> arthur.barton.de Git - netdata.git/blobdiff - netdata.spec.in
Merge pull request #1744 from l2isbad/web_log_plugin
[netdata.git] / netdata.spec.in
index cdda78977125e88f76d0662ce45256884bf40d43..62fef6d9cc0bfa0f729a9a496af2e66292088053 100644 (file)
@@ -1,4 +1,15 @@
 %define 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
+%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}
+%endif
 
 # This is temporary and should eventually be resolved. This bypasses
 # the default rhel __os_install_post which throws a python compile
@@ -10,7 +21,7 @@
 %bcond_without  systemd  # systemd
 %bcond_with     nfacct   # build with nfacct plugin
 
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1140
 %else
 %undefine      with_systemd
 %endif
@@ -22,30 +33,50 @@ Release:    1%{?dist}
 License:       GPL v3+
 Group:         Applications/System
 Source0:       http://firehol.org/download/netdata/releases/v@PACKAGE_VERSION@/%{name}-@PACKAGE_VERSION@.tar.xz
-URL:           http://netdata.firehol.org/
+URL:           http://my-netdata.io/
+%distro_buildrequires
+BuildRequires: /usr/bin/autoconf
+BuildRequires: /usr/bin/automake
 BuildRequires: pkgconfig
 BuildRequires: xz
 BuildRequires: zlib-devel
+BuildRequires: libuuid-devel
+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}
 BuildRequires: libmnl-devel
 BuildRequires: libnetfilter_acct-devel
+Requires: libmnl
+Requires: libnetfilter_acct
 %endif
 
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 
 %if %{with systemd}
+%if 0%{?suse_version}
+%{?systemd_requires}
+%else
 Requires(preun):  systemd-units
 Requires(postun): systemd-units
 Requires(post):   systemd-units
+%endif
 %else
 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
@@ -57,9 +88,10 @@ 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
+./autogen.sh
 %configure \
        --with-zlib \
        --with-math \
@@ -69,19 +101,20 @@ happened, on your systems and applications.
 
 %install
 rm -rf $RPM_BUILD_ROOT
-%{__make} %{?_smp_mflags} install \
-       DESTDIR=$RPM_BUILD_ROOT
+%{__make} %{?_smp_mflags} DESTDIR=$RPM_BUILD_ROOT install
 
-install -m 644 -p system/netdata.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+find $RPM_BUILD_ROOT -name .keep -delete
 
-find $RPM_BUILD_ROOT -name .keep | xargs -r rm
+install -m 644 -p system/netdata.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+install -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
 %else
 # install SYSV init stuff
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
 install -m755 system/netdata-init-d \
         $RPM_BUILD_ROOT/etc/rc.d/init.d/netdata
 %endif
@@ -94,59 +127,110 @@ install -m755 system/netdata-init-d \
         -s /sbin/nologin -r -d %{contentdir} netdata 2> /dev/null || :
 
 %post
-%systemd_post netdata.service
+%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
-%systemd_preun netdata.service
+%distro_preun
 
 %postun
-%systemd_postun_with_restart netdata.service
+%distro_postun
 %else
 %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
-# Start the netdata service
-/sbin/service netdata start
+# Only gets run on initial install (not upgrades or uninstalls)
+if [ $1 = 1 ]; then
+        # Start the netdata service
+        /sbin/service netdata start
+fi
+exit 0
 
 %preun
+# Only gets run on uninstall (not upgrades)
 if [ $1 = 0 ]; then
         /sbin/service netdata stop > /dev/null 2>&1
         /sbin/chkconfig --del netdata
 fi
+exit 0
+
+%postun
+# Only gets run on upgrade (not uninstalls)
+if [ $1 != 0 ]; then
+        /sbin/service netdata condrestart 2>&1 > /dev/null
+fi
+exit 0
 %endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
-%attr(-,netdata,netdata) %dir %{_localstatedir}/cache/%{name}
-%attr(-,netdata,netdata) %dir %{_localstatedir}/log/%{name}
+%doc README.md
+%defattr(-,root,root)
+
+%dir %{_sysconfdir}/%{name}
+
 %config(noreplace) %{_sysconfdir}/%{name}/*.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}/python.d/*.conf
-%dir %{_sysconfdir}/%{name}
-%{?with_systemd:%{_unitdir}/netdata.service}
+%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
+
+# 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}/cache/%{name}
+%attr(0700,netdata,netdata) %dir %{_localstatedir}/log/%{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
 %else
 %{_sysconfdir}/rc.d/init.d/netdata
 %endif
 
-# override defattr for web files
-%defattr(644,root,netdata,755)
+# Enforce 0644 for files and 0755 for directories
+# for the netdata web directory
+%defattr(0644,root,netdata,0755)
 %{_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!
+- alarms improved in almost every way!
+- Several more improvements, new features and bugfixes.
+* Sun Aug 28 2016 Costa Tsaousis <costa@tsaousis.gr> - 1.3.0-1
+- netdata now has health monitoring
+- netdata now generates badges
+- netdata now has python plugins
+- Several more improvements, new features and bugfixes.
 * Tue Jul 26 2016 Jason Barnett <J@sonBarnett.com> - 1.2.0-2
 - Added support for EL6
 - Corrected several Requires statements