f8012fa
# libuv-devel and Judy-devel are not available on el8 s390x
f8012fa
%if 0%{?rhel} && 0%{?rhel} == 8
f8012fa
ExcludeArch: s390x
f8012fa
%endif
f8012fa
46b34d9
# Because libnetfilter_acct-devel is not available in el7
46b34d9
%if 0%{?rhel} && 0%{?rhel} >= 7
46b34d9
%bcond_with netfilteracct
5a8991e
%else
46b34d9
%bcond_without netfilteracct
46b34d9
%endif
46b34d9
46b34d9
# Because cups is too old in el7
46b34d9
%if 0%{?rhel} && 0%{?rhel} <= 7
46b34d9
%bcond_with cups
46b34d9
%else
46b34d9
%bcond_without cups
5a8991e
%endif
5a8991e
49b9e7e
%if 0%{?rhel} && 0%{?rhel} <= 7
49b9e7e
# This is temporary and should eventually be resolved. This bypasses
49b9e7e
# the default rhel __os_install_post which throws a python compile
49b9e7e
# error.
49b9e7e
%global __os_install_post %{nil}
49b9e7e
%endif
49b9e7e
49b9e7e
# We use some plugins which need suid
49b9e7e
%global  _hardened_build 1
49b9e7e
548f5c1
# Build release candidate
18694c4
%global upver        1.26.0
548f5c1
#global rcver        rc0
548f5c1
49b9e7e
Name:           netdata
548f5c1
Version:        %{upver}%{?rcver:~%{rcver}}
5cfea8c
Release:        2%{?dist}
49b9e7e
Summary:        Real-time performance monitoring
49b9e7e
# For a breakdown of the licensing, see LICENSE-REDISTRIBUTED.md
49b9e7e
License:        GPLv3 and GPLv3+ and ASL 2.0 and CC-BY and MIT and WTFPL 
49b9e7e
URL:            https://github.com/%{name}/%{name}/
548f5c1
Source0:        https://github.com/%{name}/%{name}/archive/v%{upver}%{?rcver:-%{rcver}}/%{name}-%{upver}%{?rcver:-%{rcver}}.tar.gz
49b9e7e
Source1:        netdata.tmpfiles.conf
49b9e7e
Source2:        netdata.init
49b9e7e
Source3:        netdata.conf
e589c2d
Patch0:         netdata-fix-shebang-1.23.1.patch
49b9e7e
%if 0%{?fedora}
49b9e7e
# Remove embedded font
5a8991e
Patch10:        netdata-remove-fonts-1.19.0.patch
49b9e7e
%endif
49b9e7e
49b9e7e
BuildRequires:  zlib-devel
49b9e7e
BuildRequires:  git
49b9e7e
BuildRequires:  autoconf
49b9e7e
BuildRequires:  automake
49b9e7e
BuildRequires:  pkgconfig
49b9e7e
BuildRequires:  libuuid-devel
49b9e7e
BuildRequires:  freeipmi-devel
49b9e7e
BuildRequires:  httpd
49b9e7e
BuildRequires:  cppcheck
49b9e7e
BuildRequires:  gcc
5cfea8c
BuildRequires:  gcc-c++
5a8991e
BuildRequires:  libuv-devel
5a8991e
BuildRequires:  Judy-devel
5a8991e
BuildRequires:  lz4-devel
5a8991e
BuildRequires:  openssl-devel
5a8991e
BuildRequires:  libmnl-devel
5a8991e
BuildRequires:  make
5a8991e
BuildRequires:  libcurl-devel
d7e6dc6
BuildRequires:  snappy-devel
d7e6dc6
BuildRequires:  protobuf-devel
d7e6dc6
BuildRequires:  protobuf-c-devel
5cfea8c
5cfea8c
# Cloud client
5cfea8c
# BuildRequires:  mosquitto-devel
5cfea8c
# BuildRequires:  libwebsockets-devel
5cfea8c
# BuildRequires:  json-c-devel
5cfea8c
# BuildRequires:  libpfm-devel
5cfea8c
# BuildRequires:  libcap-devel
5cfea8c
46b34d9
%if %{with cups}
5a8991e
BuildRequires:  cups-devel
46b34d9
%endif
46b34d9
%if %{with netfilteracct}
17c2b30
BuildRequires:  libnetfilter_acct-devel
46b34d9
%endif
5a8991e
# Only Fedora
49b9e7e
%if 0%{?fedora}
5a8991e
BuildRequires:  python3
5a8991e
BuildRequires:  autoconf-archive
5a8991e
BuildRequires:  autogen
5a8991e
BuildRequires:  findutils
5a8991e
%else
5a8991e
# Only CentOS
5a8991e
BuildRequires:  python2
49b9e7e
%endif
5a8991e
49b9e7e
BuildRequires:  systemd
5a8991e
5a8991e
Requires:       nodejs
5a8991e
Requires:       curl
5a8991e
Requires:       nc
d7e6dc6
Requires:       snappy
d7e6dc6
Requires:       protobuf-c
d7e6dc6
Requires:       protobuf
5a8991e
%if 0%{?fedora}
5a8991e
Requires:       glyphicons-halflings-fonts
5a8991e
%endif
5a8991e
49b9e7e
Requires:       %{name}-data = %{version}-%{release}
49b9e7e
Requires:       %{name}-conf = %{version}-%{release}
49b9e7e
49b9e7e
%description
49b9e7e
netdata is the fastest way to visualize metrics. It is a resource
49b9e7e
efficient, highly optimized system for collecting and visualizing any
49b9e7e
type of realtime time-series data, from CPU usage, disk activity, SQL
49b9e7e
queries, API calls, web site visitors, etc.
49b9e7e
49b9e7e
netdata tries to visualize the truth of now, in its greatest detail,
49b9e7e
so that you can get insights of what is happening now and what just
49b9e7e
happened, on your systems and applications.
49b9e7e
49b9e7e
%package data
49b9e7e
BuildArch:      noarch
49b9e7e
Summary:        Data files for netdata
49b9e7e
49b9e7e
%description data
49b9e7e
Data files for netdata
49b9e7e
49b9e7e
%package conf
49b9e7e
BuildArch:      noarch
49b9e7e
Summary:        Configuration files for netdata
49b9e7e
49b9e7e
%description conf
49b9e7e
Configuration files for netdata
49b9e7e
49b9e7e
%package freeipmi
49b9e7e
Summary:        FreeIPMI plugin for netdata
49b9e7e
Requires:       %{name}%{?_isa} = %{version}-%{release}
49b9e7e
License:        GPLv3
49b9e7e
49b9e7e
%description freeipmi
49b9e7e
freeipmi plugin for netdata
49b9e7e
49b9e7e
%prep
548f5c1
%setup -qn %{name}-%{upver}%{?rcver:-%{rcver}}
49b9e7e
%patch0 -p1
49b9e7e
%if 0%{?fedora}
49b9e7e
# Remove embedded font(added in requires)
49b9e7e
%patch10 -p1
49b9e7e
rm -rf web/fonts
49b9e7e
%endif
49b9e7e
49b9e7e
%build
49b9e7e
autoreconf -ivf
49b9e7e
%configure \
49b9e7e
    --enable-plugin-freeipmi \
46b34d9
%if %{with netfilteracct}
46b34d9
    --enable-plugin-nfacct \
46b34d9
%endif
46b34d9
%if %{with cups}
46b34d9
    --enable-plugin-cups \
46b34d9
%endif
d7e6dc6
    --with-zlib \
d7e6dc6
    --with-math \
d7e6dc6
    --with-user=netdata
d7e6dc6
    
49b9e7e
%make_build
49b9e7e
49b9e7e
%install
49b9e7e
%make_install
49b9e7e
find %{buildroot} -name '.keep' -delete
49b9e7e
# Unit file
49b9e7e
mkdir -p %{buildroot}%{_unitdir}
49b9e7e
mkdir -p %{buildroot}%{_tmpfilesdir}
5cfea8c
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
49b9e7e
install -Dp -m 0644 system/netdata.service %{buildroot}%{_unitdir}/%{name}.service
49b9e7e
install -p -m 0644 %{SOURCE1} %{buildroot}%{_tmpfilesdir}/%{name}.conf
5cfea8c
install -Dp -m 0644 system/netdata.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/netdata
5cfea8c
49b9e7e
mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}
5a8991e
mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
5a8991e
mkdir -p %{buildroot}%{_localstatedir}/cache/%{name}
49b9e7e
49b9e7e
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
49b9e7e
install -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/%{name}/
49b9e7e
install -p -m 0644 system/netdata.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
49b9e7e
# Conf files must be in /etc, dixit FHS 
49b9e7e
mv %{buildroot}%{_libdir}/%{name}/conf.d %{buildroot}%{_sysconfdir}/%{name}/
49b9e7e
# Scripts must not be in /etc
49b9e7e
mv %{buildroot}%{_sysconfdir}/%{name}/edit-config %{buildroot}%{_libexecdir}/%{name}/edit-config
49b9e7e
# Fix EOL
49b9e7e
sed -i -e 's/\r//' %{buildroot}%{_datadir}/%{name}/web/lib/tableExport-1.6.0.min.js
49b9e7e
# Delete useless hidden dir
49b9e7e
rm -rf %{buildroot}%{_datadir}/%{name}/web/.well-known
d7e6dc6
# Delete useless file (ubuntu)
d7e6dc6
rm -f %{buildroot}%{_sysconfdir}/%{name}/conf.d/ebpf_kernel_reject_list.txt
49b9e7e
49b9e7e
%check
49b9e7e
./cppcheck.sh
49b9e7e
49b9e7e
%pre
49b9e7e
getent group netdata > /dev/null || groupadd -r netdata
49b9e7e
getent passwd netdata > /dev/null || useradd -r -g netdata -c "NetData User" -s /sbin/nologin -d /var/log/%{name} netdata
49b9e7e
49b9e7e
%post
49b9e7e
%systemd_post %{name}.service
49b9e7e
echo "The current config file can be downloaded with the following command"
49b9e7e
echo "curl -o /etc/netdata/netdata.conf http://localhost:19999/netdata.conf"
49b9e7e
49b9e7e
%preun
49b9e7e
%systemd_preun %{name}.service
49b9e7e
49b9e7e
%postun
49b9e7e
%systemd_postun_with_restart %{name}.service
49b9e7e
49b9e7e
%files
49b9e7e
%doc README.md CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTORS.md HISTORICAL_CHANGELOG.md
49b9e7e
%license LICENSE REDISTRIBUTED.md
49b9e7e
%{_sbindir}/%{name}
5a8991e
%{_sbindir}/%{name}-claim.sh
5a8991e
%{_sbindir}/%{name}cli
49b9e7e
%{_libexecdir}/%{name}
49b9e7e
%{_unitdir}/%{name}.service
49b9e7e
%{_tmpfilesdir}/%{name}.conf
4560cd3
%caps(cap_dac_read_search,cap_sys_ptrace=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/apps.plugin
4560cd3
%caps(cap_setuid=ep) %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network
4560cd3
%attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network-helper.sh
4560cd3
%caps(cap_setuid=ep) %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
4560cd3
%caps(cap_setuid=ep) %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/slabinfo.plugin
46b34d9
%if %{with cups}
4560cd3
%attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cups.plugin
46b34d9
%endif
49b9e7e
%exclude %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
49b9e7e
%attr(0755, netdata, netdata) %{_localstatedir}/lib/%{name}
49b9e7e
%attr(0755, netdata, netdata) %dir %{_localstatedir}/cache/%{name}
49b9e7e
%attr(0755, netdata, netdata) %dir %{_localstatedir}/log/%{name}
49b9e7e
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
49b9e7e
49b9e7e
%files conf
49b9e7e
%doc README.md
49b9e7e
%license LICENSE REDISTRIBUTED.md
49b9e7e
%dir %{_sysconfdir}/%{name}
49b9e7e
%dir %{_sysconfdir}/%{name}/conf.d
49b9e7e
%dir %{_sysconfdir}/%{name}/conf.d/charts.d
49b9e7e
%dir %{_sysconfdir}/%{name}/conf.d/health.d
49b9e7e
%dir %{_sysconfdir}/%{name}/conf.d/python.d
49b9e7e
%dir %{_sysconfdir}/%{name}/conf.d/statsd.d
49b9e7e
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
49b9e7e
%config(noreplace) %{_sysconfdir}/%{name}/conf.d/*.conf
49b9e7e
%config(noreplace) %{_sysconfdir}/%{name}/conf.d/charts.d/*.conf
49b9e7e
%config(noreplace) %{_sysconfdir}/%{name}/conf.d/health.d/*.conf
49b9e7e
%config(noreplace) %{_sysconfdir}/%{name}/conf.d/python.d/*.conf
49b9e7e
%config(noreplace) %{_sysconfdir}/%{name}/conf.d/statsd.d/*.conf
5cfea8c
%config(noreplace) %{_sysconfdir}/logrotate.d/netdata
49b9e7e
49b9e7e
%files data
49b9e7e
%doc README.md
49b9e7e
%license LICENSE REDISTRIBUTED.md
49b9e7e
%dir %{_datadir}/%{name}
49b9e7e
%{_datadir}/%{name}/web
49b9e7e
49b9e7e
49b9e7e
%files freeipmi
49b9e7e
%doc README.md
49b9e7e
%license LICENSE REDISTRIBUTED.md
4560cd3
%caps(cap_setuid=ep) %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
49b9e7e
49b9e7e
%changelog
5cfea8c
* Mon Nov 02 2020 Didier Fabert <didier.fabert@gmail.com> 1.26.0-2
5cfea8c
- Fix wrong drop for el6 support
5cfea8c
- Fix tmpfiles (from /var/run to /run)
5cfea8c
- Minors changes in netdata.conf
5cfea8c
18694c4
* Sun Nov 01 2020 Didier Fabert <didier.fabert@gmail.com> 1.26.0-1
18694c4
- Update from upstream
18694c4
d7e6dc6
* Tue Sep 22 2020 Didier Fabert <didier.fabert@gmail.com> 1.25.0-1
d7e6dc6
- Update from upstream
d7e6dc6
- Drop el6 support
d7e6dc6
d7e6dc6
* Thu Aug 13 2020 Didier Fabert <didier.fabert@gmail.com> 1.24.0-1
d7e6dc6
- Update from upstream
d7e6dc6
29d0c38
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.23.2-2
29d0c38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
29d0c38
b2cf48a
* Fri Jul 17 2020 Didier Fabert <didier.fabert@gmail.com> 1.23.2-1
b2cf48a
- Update from upstream
b2cf48a
e589c2d
* Thu Jul 02 2020 Didier Fabert <didier.fabert@gmail.com> 1.23.1-1
e589c2d
- Update from upstream
e589c2d
f8012fa
* Sun May 17 2020 Didier Fabert <didier.fabert@gmail.com> 1.22.1-3
f8012fa
- Exclude arch s390x on el8
f8012fa
46b34d9
* Fri May 15 2020 Didier Fabert <didier.fabert@gmail.com> 1.22.1-2
46b34d9
- Conditionnaly build netfilteracct and cups plugins (disabed in epel7)
46b34d9
340fe4a
* Wed May 13 2020 Didier Fabert <didier.fabert@gmail.com> 1.22.1-1
340fe4a
- Update from upstream
340fe4a
4560cd3
* Sat Apr 18 2020 Juan Orti Alcaine <jortialc@redhat.com> 1.21.1-2
4560cd3
- Sync /usr/libexec/netdata/plugins.d/ binaries permissions with upstream
4560cd3
2f57883
* Tue Apr 14 2020 Didier Fabert <didier.fabert@gmail.com> 1.21.1-1
2f57883
- Update from upstream
2f57883
53a411c
* Tue Apr 07 2020 Didier Fabert <didier.fabert@gmail.com> 1.21.0-1
53a411c
- Update from upstream
53a411c
5a8991e
* Sun Mar 01 2020 Didier Fabert <didier.fabert@gmail.com> 1.20.0-1
5a8991e
- Update from upstream
5a8991e
88628e0
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.1-2
88628e0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
88628e0
03e3867
* Sun Oct 20 2019 Didier Fabert <didier.fabert@gmail.com> 1.18.1-1
03e3867
- Update from upstream
03e3867
90642f7
* Thu Oct 17 2019 Didier Fabert <didier.fabert@gmail.com> 1.18.0-1
90642f7
- Update from upstream
90642f7
58fc2d2
* Fri Sep 13 2019 Didier Fabert <didier.fabert@gmail.com> 1.17.1-1
58fc2d2
- Update from upstream
58fc2d2
aa4036c
* Sat Sep 07 2019 Didier Fabert <didier.fabert@gmail.com> 1.17.0-1
aa4036c
- Update from upstream
aa4036c
2fd6fed
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.0-2
2fd6fed
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
2fd6fed
04ff73c
* Mon Jul 08 2019 Didier Fabert <didier.fabert@gmail.com> 1.16.0-1
04ff73c
- Update from upstream
04ff73c
1abe8ae
* Tue May 21 2019 Didier Fabert <didier.fabert@gmail.com> 1.15.0-1
1abe8ae
- Update from upstream
1abe8ae
548f5c1
* Fri Apr 19 2019 Didier Fabert <didier.fabert@gmail.com> 1.14.0-1
548f5c1
- Update from upstream
548f5c1
548f5c1
* Fri Apr 05 2019 Didier Fabert <didier.fabert@gmail.com> 1.14.0~rc0-2
548f5c1
- Remove condition for patch (SRPM must embedded all)
548f5c1
548f5c1
* Thu Apr 04 2019 Didier Fabert <didier.fabert@gmail.com> 1.14.0~rc0-1
548f5c1
- Update from upstream
548f5c1
fbd6984
* Fri Mar 22 2019 Didier Fabert <didier.fabert@gmail.com> 1.13.0-2
fbd6984
- Fix bash and sh path on el6
fbd6984
2719314
* Wed Mar 20 2019 Didier Fabert <didier.fabert@gmail.com> 1.13.0-1
2719314
- Update from upstream
2719314
- Bind to localhost
2719314
49b9e7e
* Sun Mar 03 2019 Didier Fabert <didier.fabert@gmail.com> 1.12.2-3
49b9e7e
- Fix upstream archive name (source0)
49b9e7e
49b9e7e
* Sat Mar 02 2019 Didier Fabert <didier.fabert@gmail.com> 1.12.2-2
49b9e7e
- Fix spec file according to https://bugzilla.redhat.com/show_bug.cgi?id=1684719
49b9e7e
49b9e7e
* Fri Mar 01 2019 Didier Fabert <didier.fabert@gmail.com> 1.12.2-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Sat Feb 23 2019 Didier Fabert <didier.fabert@gmail.com> 1.12.1-3
49b9e7e
- Fix rpmlint errors
49b9e7e
49b9e7e
* Sat Feb 23 2019 Didier Fabert <didier.fabert@gmail.com> 1.12.1-2
49b9e7e
- /usr/share/netdata/web must be owned by netdata user for now
49b9e7e
49b9e7e
* Sat Feb 23 2019 Didier Fabert <didier.fabert@gmail.com> 1.12.1-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Tue Feb 19 2019 Didier Fabert <didier.fabert@gmail.com> 1.12.0-2
49b9e7e
- Don't remove embedded font for el6 and el7, again
49b9e7e
49b9e7e
* Mon Feb 18 2019 Didier Fabert <didier.fabert@gmail.com> 1.12.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Tue Nov 20 2018 Didier Fabert <didier.fabert@gmail.com> 1.11.0-4
49b9e7e
- Don't remove embedded font for el6 and el7, package is not exist
49b9e7e
49b9e7e
* Sun Nov 18 2018 Didier Fabert <didier.fabert@gmail.com> 1.11.0-3
49b9e7e
- Disable tests for el6
49b9e7e
49b9e7e
* Sun Nov 18 2018 Didier Fabert <didier.fabert@gmail.com> 1.11.0-2
49b9e7e
- Re-enable el6 and el7
49b9e7e
49b9e7e
* Sat Nov 17 2018 Didier Fabert <didier.fabert@gmail.com> 1.11.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Mon May 14 2018 Didier Fabert <didier.fabert@gmail.com> 1.10.0-2
49b9e7e
- Remove embedded font files
49b9e7e
- Add data (noarch) subpackage
49b9e7e
- Remove deprecated instructions
49b9e7e
49b9e7e
* Wed Mar 28 2018 Didier Fabert <didier.fabert@gmail.com> 1.10.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Wed Dec 20 2017 Didier Fabert <didier.fabert@gmail.com> 1.9.0-1
49b9e7e
- Update from upstream
49b9e7e
- Move freeipmi plugin to sub package (avoid freeipmi dependency)
49b9e7e
49b9e7e
* Tue Sep 19 2017 Didier Fabert <didier.fabert@gmail.com> 1.8.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Thu Aug 31 2017 Didier Fabert <didier.fabert@gmail.com> 1.7.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Thu Mar 23 2017 Didier Fabert <didier.fabert@gmail.com> 1.6.0-3
49b9e7e
- Fix freeipmi plugin permisions: must be suid to root
49b9e7e
49b9e7e
* Thu Mar 23 2017 Didier Fabert <didier.fabert@gmail.com> 1.6.0-2
49b9e7e
- Enable freeipmi plugin
49b9e7e
49b9e7e
* Thu Mar 23 2017 Didier Fabert <didier.fabert@gmail.com> 1.6.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Mon Jan 23 2017 Didier Fabert <didier.fabert@gmail.com> 1.5.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Thu Dec 01 2016 Didier Fabert <didier.fabert@gmail.com> 1.4.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Wed Sep 07 2016 Didier Fabert <didier.fabert@gmail.com> 1.3.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Wed Jun 15 2016 Didier Fabert <didier.fabert@gmail.com> 1.2.0-2
49b9e7e
- Create missing dir: /var/lib/netdata (useful for registry)
49b9e7e
49b9e7e
* Wed Jun 15 2016 Didier Fabert <didier.fabert@gmail.com> 1.2.0-1
49b9e7e
- Update from upstream
49b9e7e
49b9e7e
* Fri Apr 01 2016 Didier Fabert <didier.fabert@gmail.com> 1.0.0-1
49b9e7e
- First Release