X-Git-Url: https://arthur.barton.de/gitweb/?p=netdata.git;a=blobdiff_plain;f=netdata.spec.in;h=b1f0189e03c147775b29a2530c8763b778380424;hp=f829f8737ac9fad79fc0de713bae5a6989c6a754;hb=e1d37e04f50157086257a5d91cf8cffd27bc80b1;hpb=453f1ba85fd8590306e2abc3b8af47362c4efdc2 diff --git a/netdata.spec.in b/netdata.spec.in index f829f873..b1f0189e 100644 --- a/netdata.spec.in +++ b/netdata.spec.in @@ -1,20 +1,9 @@ -%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 +%global contentdir %{_datadir}/netdata # 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: @@ -26,21 +15,79 @@ %undefine with_systemd %endif +%if %{with systemd} +%if 0%{?suse_version} +%global netdata_initd_buildrequires \ +BuildRequires: systemd-rpm-macros \ +%{nil} +%global netdata_initd_requires \ +%{?systemd_requires} \ +%{nil} +%global netdata_init_post %service_add_post netdata.service +%global netdata_init_preun %service_del_preun netdata.service +%global netdata_init_postun %service_del_postun netdata.service +%else +%global netdata_initd_buildrequires %{nil} +%global netdata_initd_requires \ +Requires(preun): systemd-units \ +Requires(postun): systemd-units \ +Requires(post): systemd-units \ +%{nil} +%global netdata_init_post %systemd_post netdata.service +%global netdata_init_preun %systemd_preun netdata.service +%global netdata_init_postun %systemd_postun_with_restart netdata.service +%endif +%else +%global netdata_initd_buildrequires %{nil} +%global netdata_initd_requires \ +Requires(post): chkconfig \ +%{nil} +%global netdata_init_post \ +/sbin/chkconfig --add netdata \ +%{nil} +%global netdata_init_preun %{nil} \ +if [ $1 = 0 ]; then \ + /sbin/service netdata stop > /dev/null 2>&1 \ + /sbin/chkconfig --del netdata \ +fi \ +%{nil} +%global netdata_init_postun %{nil} \ +if [ $1 != 0 ]; then \ + /sbin/service netdata condrestart 2>&1 > /dev/null \ +fi \ +%{nil} +%endif + +%if 0%{?_fedora} +%global netdata_recommends \ +Recommends: curl \ +Recommends: iproute-tc \ +Recommends: lm_sensors \ +Recommends: nmap-ncat \ +Recommends: nodejs \ +Recommends: python \ +Recommends: PyYAML \ +Recommends: python2-PyMySQL \ +Recommends: python2-psycopg2 \ +%{nil} +%else +%global netdata_recommends %{nil} +%endif + Summary: Real-time performance monitoring, done right Name: @PACKAGE_NAME@ Version: @PACKAGE_RPM_VERSION@ Release: 1%{?dist} -License: GPL v3+ +License: GPLv3+ Group: Applications/System -Source0: http://firehol.org/download/netdata/releases/v@PACKAGE_VERSION@/%{name}-@PACKAGE_VERSION@.tar.xz -URL: http://my-netdata.io/ -%distro_buildrequires +Source0: https://firehol.org/download/netdata/releases/v@PACKAGE_VERSION@/%{name}-@PACKAGE_VERSION@.tar.xz +URL: http://my-netdata.io BuildRequires: pkgconfig BuildRequires: xz BuildRequires: zlib-devel BuildRequires: libuuid-devel -Requires: zlib -Requires: libuuid +Requires: zlib +Requires: libuuid # Packages can be found in the EPEL repo %if %{with nfacct} @@ -52,18 +99,11 @@ Requires: libnetfilter_acct Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd +Requires(post): libcap -%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 +%{netdata_initd_buildrequires} +%{netdata_recommends} +%{netdata_initd_requires} %description netdata is the fastest way to visualize metrics. It is a resource @@ -76,7 +116,7 @@ so that you can get insights of what is happening now and what just happened, on your systems and applications. %prep -%setup -q +%setup -q -n @PACKAGE_NAME@-@PACKAGE_VERSION@ %build %configure \ @@ -87,93 +127,64 @@ 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 -delete +find "${RPM_BUILD_ROOT}" -name .keep -delete -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} +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 -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 +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} %pre -# Add the "netdata" user -/usr/sbin/groupadd -r netdata 2> /dev/null || : -/usr/sbin/useradd -c "netdata" -g netdata \ - -s /sbin/nologin -r -d %{contentdir} netdata 2> /dev/null || : - -%post -%distro_post - -%preun -%distro_preun - -%postun -%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 -# Register the netdata service -/sbin/chkconfig --add netdata -# 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 +%{netdata_init_post} %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 +%{netdata_init_preun} %postun -# Only gets run on upgrade (not uninstalls) -if [ $1 != 0 ]; then - /sbin/service netdata condrestart 2>&1 > /dev/null -fi -exit 0 -%endif +%{netdata_init_postun} %clean -rm -rf $RPM_BUILD_ROOT +rm -rf "${RPM_BUILD_ROOT}" %files +%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}/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} +# To be eventually moved to %%_defaultdocdir +%{_sysconfdir}/%{name}/node.d/*.md %{_libexecdir}/%{name} %{_sbindir}/%{name} +%caps(cap_dac_read_search,cap_sys_ptrace=ep) %attr(0555,root,root) %{_libexecdir}/%{name}/plugins.d/apps.plugin + %attr(0700,netdata,netdata) %dir %{_localstatedir}/cache/%{name} %attr(0700,netdata,netdata) %dir %{_localstatedir}/log/%{name} %attr(0700,netdata,netdata) %dir %{_localstatedir}/lib/%{name} @@ -194,6 +205,11 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/%{name}/web %changelog +* Sun Jan 22 2017 Costa Tsaousis - 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 - 1.4.0-1 - the fastest netdata ever (with a better look too)! - improved IoT and containers support!