netdata.spec.in 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610
  1. # SPDX-License-Identifier: GPL-3.0-or-later
  2. %global contentdir %{_datadir}/netdata
  3. %global version @PACKAGE_VERSION@
  4. #TODO: Temporary fix for the build-id error during go.d plugin set up
  5. %global _missing_build_ids_terminate_build 0
  6. # XXX: We are using automatic `Requires:` generation for libraries
  7. # whenever possible, DO NOT LIST LIBRARY DEPENDENCIES UNLESS THE RESULTANT
  8. # PACKAGE IS BROKEN WITHOUT THEM.
  9. AutoReqProv: yes
  10. # This is temporary and should eventually be resolved. This bypasses
  11. # the default rhel __os_install_post which throws a python compile
  12. # error.
  13. %global __os_install_post %{nil}
  14. # We don’t want LTO as it has a minimal performance impact at runtime
  15. # but a huge impact on build times (we want our CI to not take multiple
  16. # hours to finish).
  17. %global _lto_cflags %nil
  18. # Disable eBPF for architectures other than x86
  19. %ifarch x86_64 i386
  20. %global _have_ebpf 1
  21. %else
  22. %global _have_ebpf 0
  23. %endif
  24. # Mitigate the cross-distro mayhem by strictly defining the libexec destination
  25. %define _prefix /usr
  26. %define _sysconfdir /etc
  27. %define _localstatedir /var
  28. %define _libexecdir /usr/libexec
  29. %define _libdir /usr/lib
  30. # Redefine centos_ver to standardize on a single macro
  31. %{?rhel:%global centos_ver %rhel}
  32. #
  33. # Conditional build:
  34. %bcond_without systemd # systemd
  35. %bcond_with netns # build with netns support (cgroup-network)
  36. %if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1140
  37. %else
  38. %undefine with_systemd
  39. %undefine with_netns
  40. %endif
  41. %if %{with systemd}
  42. %if 0%{?suse_version}
  43. %global netdata_initd_buildrequires \
  44. BuildRequires: systemd-rpm-macros \
  45. %{nil}
  46. %global netdata_initd_requires \
  47. %{?systemd_requires} \
  48. %{nil}
  49. %global netdata_init_post %service_add_post netdata.service \
  50. /sbin/service netdata restart > /dev/null 2>&1 \
  51. %{nil}
  52. %global netdata_init_preun %service_del_preun netdata.service \
  53. /sbin/service netdata stop > /dev/null 2>&1 \
  54. %{nil}
  55. %global netdata_init_postun %service_del_postun netdata.service
  56. %else
  57. %global netdata_initd_buildrequires \
  58. BuildRequires: systemd
  59. %global netdata_initd_requires \
  60. Requires(preun): systemd-units \
  61. Requires(postun): systemd-units \
  62. Requires(post): systemd-units \
  63. %{nil}
  64. %global netdata_init_post %systemd_post netdata.service \
  65. /usr/bin/systemctl enable netdata.service \
  66. /usr/bin/systemctl daemon-reload \
  67. /usr/bin/systemctl restart netdata.service \
  68. %{nil}
  69. %global netdata_init_preun %systemd_preun netdata.service
  70. %global netdata_init_postun %systemd_postun_with_restart netdata.service
  71. %endif
  72. %else
  73. %global netdata_initd_buildrequires %{nil}
  74. %global netdata_initd_requires \
  75. Requires(post): chkconfig \
  76. %{nil}
  77. %global netdata_init_post \
  78. /sbin/chkconfig --add netdata \
  79. /sbin/service netdata restart > /dev/null 2>&1 \
  80. %{nil}
  81. %global netdata_init_preun %{nil} \
  82. if [ $1 = 0 ]; then \
  83. /sbin/service netdata stop > /dev/null 2>&1 \
  84. /sbin/chkconfig --del netdata \
  85. fi \
  86. %{nil}
  87. %global netdata_init_postun %{nil} \
  88. if [ $1 != 0 ]; then \
  89. /sbin/service netdata condrestart 2>&1 > /dev/null \
  90. fi \
  91. %{nil}
  92. %endif
  93. Summary: Real-time performance monitoring, done right!
  94. Name: netdata
  95. Version: %{version}
  96. Release: 1%{?dist}
  97. License: GPLv3+
  98. Group: Applications/System
  99. Source0: https://github.com/netdata/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
  100. URL: http://my-netdata.io
  101. # Remove conflicting EPEL packages
  102. Obsoletes: %{name}-conf
  103. Obsoletes: %{name}-data
  104. # #####################################################################
  105. # Core build/install/runtime dependencies
  106. # #####################################################################
  107. # Build dependencies
  108. #
  109. BuildRequires: gcc
  110. BuildRequires: gcc-c++
  111. BuildRequires: make
  112. BuildRequires: git-core
  113. BuildRequires: autoconf
  114. %if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1140
  115. BuildRequires: autoconf-archive
  116. %if 0%{?rhel} <= 8
  117. BuildRequires: autogen
  118. %endif
  119. %endif
  120. BuildRequires: automake
  121. BuildRequires: cmake
  122. BuildRequires: pkgconfig
  123. BuildRequires: curl
  124. BuildRequires: findutils
  125. BuildRequires: zlib-devel
  126. BuildRequires: libuuid-devel
  127. BuildRequires: libuv-devel >= 1
  128. BuildRequires: openssl-devel
  129. %if 0%{?suse_version}
  130. BuildRequires: protobuf-devel
  131. BuildRequires: libprotobuf-c-devel
  132. BuildRequires: judy-devel
  133. BuildRequires: liblz4-devel
  134. BuildRequires: libjson-c-devel
  135. %else
  136. %if 0%{?fedora}
  137. BuildRequires: protobuf-devel
  138. BuildRequires: protobuf-c-devel
  139. BuildRequires: Judy-devel
  140. BuildRequires: lz4-devel
  141. BuildRequires: json-c-devel
  142. %else
  143. %if 0%{?centos_ver} >= 8
  144. BuildRequires: protobuf-devel
  145. BuildRequires: protobuf-c-devel
  146. %endif
  147. BuildRequires: lz4-devel
  148. BuildRequires: json-c-devel
  149. %endif
  150. %endif
  151. # Core build requirements for service install
  152. %{netdata_initd_buildrequires}
  153. # Runtime dependencies
  154. #
  155. %if 0%{?centos_ver} == 7 || 0%{?centos_ver} == 6
  156. Requires: python
  157. %else
  158. %if 0%{?centos_ver} == 8
  159. Requires: python38
  160. %else
  161. Requires: python3
  162. %endif
  163. %endif
  164. # Core requirements for the install to succeed
  165. Requires(pre): /usr/sbin/groupadd
  166. Requires(pre): /usr/sbin/useradd
  167. %{netdata_initd_requires}
  168. # #####################################################################
  169. # Functionality-dependent package dependencies
  170. # #####################################################################
  171. # Note: Some or all of the Packages may be found in the EPEL repo,
  172. # rather than the standard ones
  173. # nfacct plugin dependencies
  174. BuildRequires: libmnl-devel
  175. %if 0%{?fedora} || 0%{?suse_version} >= 1140
  176. BuildRequires: libnetfilter_acct-devel
  177. %endif
  178. # end nfacct plugin dependencies
  179. # freeipmi plugin dependencies
  180. BuildRequires: freeipmi-devel
  181. # end - freeipmi plugin dependencies
  182. # CUPS plugin dependencies
  183. %if 0%{?centos_ver} != 6 && 0%{?centos_ver} != 7
  184. BuildRequires: cups-devel >= 1.7
  185. %endif
  186. # end - cups plugin dependencies
  187. # Prometheus remote write dependencies
  188. BuildRequires: snappy-devel
  189. # end - prometheus remote write dependencies
  190. # #####################################################################
  191. # End of dependency management configuration
  192. # #####################################################################
  193. %description
  194. netdata is the fastest way to visualize metrics. It is a resource
  195. efficient, highly optimized system for collecting and visualizing any
  196. type of realtime timeseries data, from CPU usage, disk activity, SQL
  197. queries, API calls, web site visitors, etc.
  198. netdata tries to visualize the truth of now, in its greatest detail,
  199. so that you can get insights of what is happening now and what just
  200. happened, on your systems and applications.
  201. %prep
  202. %setup -q -n %{name}-%{version}
  203. # Only bundle libJudy if this isn't Fedora or SUSE
  204. %if 0%{!?fedora:1} && 0%{!?suse_version:1}
  205. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-judy.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  206. %endif
  207. # Only bundle protobuf on CentOS 7 or earlier
  208. %if 0%{?centos_ver:1}
  209. %if %{centos_ver} < 8
  210. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-protobuf.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  211. %endif
  212. %endif
  213. %if 0%{?_have_ebpf}
  214. %if 0%{?centos_ver:1}
  215. %if %{centos_ver} < 8
  216. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} centos7
  217. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  218. %else
  219. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} centos8
  220. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  221. %endif
  222. %else
  223. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} other
  224. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  225. %endif
  226. %endif
  227. %build
  228. # Conf step
  229. autoreconf -ivf
  230. %configure \
  231. %if 0%{!?_have_ebpf}
  232. --disable-ebpf
  233. %endif
  234. %if 0%{!?fedora:1} && 0%{!?suse_version:1}
  235. --with-bundled-libJudy \
  236. %endif
  237. %if 0%{?centos_ver:1}
  238. %if %{centos_ver} < 8
  239. --with-bundled-protobuf \
  240. %endif
  241. %endif
  242. --prefix="%{_prefix}" \
  243. --sysconfdir="%{_sysconfdir}" \
  244. --localstatedir="%{_localstatedir}" \
  245. --libexecdir="%{_libexecdir}" \
  246. --libdir="%{_libdir}" \
  247. --with-zlib \
  248. --with-math \
  249. --with-user=netdata \
  250. --disable-dependency-tracking
  251. # Build step
  252. %{__make} %{?_smp_mflags}
  253. %install
  254. # ###########################################################
  255. # Clear the directory, if already exists and install
  256. rm -rf "${RPM_BUILD_ROOT}"
  257. %{__make} %{?_smp_mflags} DESTDIR="${RPM_BUILD_ROOT}" install
  258. install -m 644 -p system/netdata.conf "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}"
  259. # ###########################################################
  260. # Install updater script
  261. install -m 755 -p packaging/installer/netdata-updater.sh "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/netdata-updater.sh"
  262. # ###########################################################
  263. # logrotate settings
  264. install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d"
  265. install -m 644 -p system/netdata.logrotate "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}"
  266. # ###########################################################
  267. # Install freeipmi
  268. install -m 4750 -p freeipmi.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/freeipmi.plugin"
  269. # ###########################################################
  270. # Install apps.plugin
  271. install -m 4750 -p apps.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/apps.plugin"
  272. # ###########################################################
  273. # Install perf.plugin
  274. install -m 4750 -p perf.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/perf.plugin"
  275. # ###########################################################
  276. # Install ebpf.plugin
  277. %if 0%{?_have_ebpf}
  278. install -m 4750 -p ebpf.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/ebpf.plugin"
  279. %endif
  280. # ###########################################################
  281. # Install cups.plugin
  282. %if 0%{?centos_ver} != 6 && 0%{?centos_ver} != 7
  283. install -m 0750 -p cups.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/cups.plugin"
  284. %endif
  285. # ###########################################################
  286. # Install slabinfo.plugin
  287. install -m 4750 -p slabinfo.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/slabinfo.plugin"
  288. # ###########################################################
  289. # Install cache and log directories
  290. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}"
  291. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}"
  292. # ###########################################################
  293. # Install registry directory
  294. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/lib/%{name}/registry"
  295. # ###########################################################
  296. # Install netdata service
  297. %if %{with systemd}
  298. install -m 755 -d "${RPM_BUILD_ROOT}%{_unitdir}"
  299. install -m 644 -p system/netdata.service "${RPM_BUILD_ROOT}%{_unitdir}/netdata.service"
  300. %else
  301. # install SYSV init stuff
  302. install -d "${RPM_BUILD_ROOT}/etc/rc.d/init.d"
  303. install -m 755 system/netdata-init-d \
  304. "${RPM_BUILD_ROOT}/etc/rc.d/init.d/netdata"
  305. %endif
  306. # ############################################################
  307. # Package Go within netdata (TBD: Package it separately)
  308. safe_sha256sum() {
  309. # Within the context of the installer, we only use -c option that is common between the two commands
  310. # We will have to reconsider if we start non-common options
  311. if command -v sha256sum >/dev/null 2>&1; then
  312. sha256sum $@
  313. elif command -v shasum >/dev/null 2>&1; then
  314. shasum -a 256 $@
  315. else
  316. fatal "I could not find a suitable checksum binary to use"
  317. fi
  318. }
  319. download_go() {
  320. url="${1}"
  321. dest="${2}"
  322. if command -v curl >/dev/null 2>&1; then
  323. curl -sSL --connect-timeout 10 --retry 3 "${url}" > "${dest}"
  324. elif command -v wget >/dev/null 2>&1; then
  325. wget -T 15 -O - "${url}" > "${dest}"
  326. else
  327. echo >&2
  328. echo >&2 "Downloading go.d plugin from '${url}' failed because of missing mandatory packages."
  329. echo >&2 "Either add packages or disable it by issuing '--disable-go' in the installer"
  330. echo >&2
  331. exit 1
  332. fi
  333. }
  334. install_go() {
  335. # When updating this value, ensure correct checksums in packaging/go.d.checksums
  336. GO_PACKAGE_VERSION="$(cat packaging/go.d.version)"
  337. ARCH_MAP=(
  338. 'i386::386'
  339. 'i686::386'
  340. 'x86_64::amd64'
  341. 'aarch64::arm64'
  342. 'armv64::arm64'
  343. 'armv6l::arm'
  344. 'armv7l::arm'
  345. 'armv5tel::arm'
  346. )
  347. if [ -z "${NETDATA_DISABLE_GO+x}" ]; then
  348. echo >&2 "Install go.d.plugin"
  349. ARCH=$(uname -m)
  350. OS=$(uname -s | tr '[:upper:]' '[:lower:]')
  351. for index in "${ARCH_MAP[@]}" ; do
  352. KEY="${index%%::*}"
  353. VALUE="${index##*::}"
  354. if [ "$KEY" = "$ARCH" ]; then
  355. ARCH="${VALUE}"
  356. break
  357. fi
  358. done
  359. tmp=$(mktemp -d /tmp/netdata-go-XXXXXX)
  360. GO_PACKAGE_BASENAME="go.d.plugin-${GO_PACKAGE_VERSION}.${OS}-${ARCH}.tar.gz"
  361. download_go "https://github.com/netdata/go.d.plugin/releases/download/${GO_PACKAGE_VERSION}/${GO_PACKAGE_BASENAME}" "${tmp}/${GO_PACKAGE_BASENAME}"
  362. download_go "https://github.com/netdata/go.d.plugin/releases/download/${GO_PACKAGE_VERSION}/config.tar.gz" "${tmp}/config.tar.gz"
  363. if [ ! -f "${tmp}/${GO_PACKAGE_BASENAME}" ] || [ ! -f "${tmp}/config.tar.gz" ] || [ ! -s "${tmp}/config.tar.gz" ] || [ ! -s "${tmp}/${GO_PACKAGE_BASENAME}" ]; then
  364. echo >&2 "Either check the error or consider disabling it by issuing '--disable-go' in the installer"
  365. echo >&2
  366. return 1
  367. fi
  368. grep "${GO_PACKAGE_BASENAME}\$" "packaging/go.d.checksums" > "${tmp}/sha256sums.txt" 2>/dev/null
  369. grep "config.tar.gz" "packaging/go.d.checksums" >> "${tmp}/sha256sums.txt" 2>/dev/null
  370. # Checksum validation
  371. if ! (cd "${tmp}" && safe_sha256sum -c "sha256sums.txt"); then
  372. echo >&2 "go.d plugin checksum validation failure."
  373. echo >&2 "Either check the error or consider disabling it by issuing '--disable-go' in the installer"
  374. echo >&2
  375. echo "go.d.plugin package files checksum validation failed."
  376. exit 1
  377. fi
  378. # Install files
  379. tar -xf "${tmp}/config.tar.gz" -C "${RPM_BUILD_ROOT}%{_libdir}/%{name}/conf.d/"
  380. tar xf "${tmp}/${GO_PACKAGE_BASENAME}"
  381. mv "${GO_PACKAGE_BASENAME/\.tar\.gz/}" "go.d.plugin"
  382. rm -rf "${tmp}"
  383. fi
  384. return 0
  385. }
  386. install_go
  387. install -m 0640 -p go.d.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/go.d.plugin"
  388. %if 0%{?_have_ebpf}
  389. ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d
  390. %endif
  391. %pre
  392. # User/Group creations, as needed
  393. getent group netdata >/dev/null || groupadd -r netdata
  394. getent group docker >/dev/null || groupadd -r docker
  395. getent passwd netdata >/dev/null || \
  396. useradd -r -g netdata -G docker -s /sbin/nologin \
  397. -d %{contentdir} -c "netdata" netdata
  398. %post
  399. %{netdata_init_post}
  400. %preun
  401. %{netdata_init_preun}
  402. %postun
  403. %{netdata_init_postun}
  404. %clean
  405. rm -rf "${RPM_BUILD_ROOT}"
  406. %files
  407. %doc README.md
  408. %{_sysconfdir}/%{name}
  409. %config(noreplace) %{_sysconfdir}/%{name}/netdata.conf
  410. %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
  411. %dir %{_libdir}/%{name}
  412. %dir %{_datadir}/%{name}
  413. %{_libdir}/%{name}
  414. %{_libdir}/%{name}/conf.d/
  415. %{_libexecdir}/%{name}
  416. %{_sbindir}/%{name}
  417. %{_sbindir}/netdatacli
  418. %{_sbindir}/netdata-claim.sh
  419. %if %{with systemd}
  420. %{_unitdir}/netdata.service
  421. %else
  422. %{_sysconfdir}/rc.d/init.d/netdata
  423. %endif
  424. %defattr(0750,root,netdata,0750)
  425. %dir %{_libexecdir}/%{name}/python.d
  426. %dir %{_libexecdir}/%{name}/charts.d
  427. %dir %{_libexecdir}/%{name}/plugins.d
  428. %{_libexecdir}/%{name}/python.d
  429. %{_libexecdir}/%{name}/plugins.d
  430. %caps(cap_dac_read_search,cap_sys_ptrace=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/apps.plugin
  431. %if %{with netns}
  432. # cgroup-network detects the network interfaces of CGROUPs
  433. # it must be able to use setns() and run cgroup-network-helper.sh as root
  434. # the helper script reads /proc/PID/fdinfo/* files, runs virsh, etc.
  435. %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network
  436. %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network-helper.sh
  437. %endif
  438. # perf plugin
  439. # This should be CAP_PERFMON once RPM finally learns about it, but needs to be CAP_SYS_ADMIN for now.
  440. # %caps(cap_perfmon=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
  441. %caps(cap_sys_admin=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
  442. # perf plugin
  443. %caps(cap_dac_read_search=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/slabinfo.plugin
  444. # freeipmi files
  445. %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
  446. # Enforce 0644 for files and 0755 for directories
  447. # for the netdata web directory
  448. %defattr(0644,root,root,0755)
  449. %{_datadir}/%{name}/web
  450. # Enforce 0660 for files and 0770 for directories
  451. # for the netdata lib, cache and log dirs
  452. %defattr(0660,root,netdata,0770)
  453. %attr(0770,netdata,netdata) %dir %{_localstatedir}/cache/%{name}
  454. %attr(0755,netdata,root) %dir %{_localstatedir}/log/%{name}
  455. %attr(0770,netdata,netdata) %dir %{_localstatedir}/lib/%{name}
  456. %attr(0770,netdata,netdata) %dir %{_localstatedir}/lib/%{name}/registry
  457. # Free IPMI belongs to a different sub-package
  458. %exclude %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
  459. # CUPS belongs to a different sub package
  460. %if 0%{?centos_ver} != 6 && 0%{?centos_ver} != 7
  461. %exclude %{_libexecdir}/%{name}/plugins.d/cups.plugin
  462. %package plugin-cups
  463. Summary: The Common Unix Printing System plugin for netdata
  464. Group: Applications/System
  465. Requires: cups >= 1.7
  466. Requires: netdata = %{version}
  467. %description plugin-cups
  468. This is the Common Unix Printing System plugin for the netdata daemon.
  469. Use this plugin to enable metrics collection from cupsd, the daemon running when CUPS is enabled on the system
  470. %files plugin-cups
  471. %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cups.plugin
  472. %endif
  473. %package plugin-freeipmi
  474. Summary: FreeIPMI - The Intelligent Platform Management System
  475. Group: Applications/System
  476. Requires: freeipmi
  477. Requires: netdata = %{version}
  478. %description plugin-freeipmi
  479. The IPMI specification defines a set of interfaces for platform management.
  480. It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in
  481. are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL).
  482. %files plugin-freeipmi
  483. %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
  484. %changelog
  485. * Wed Feb 03 2022 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-16
  486. - Bundle updater script in native packages.
  487. * Mon Oct 11 2021 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-15
  488. - Remove support code for legacy ACLK implementation.
  489. * Wed Sep 16 2020 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-14
  490. - Convert to using 'AutoReq: yes' for library dependencies.
  491. * Thu Feb 13 2020 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-13
  492. - Add handling for custom libmosquitto fork
  493. * Wed Jan 01 2020 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-12
  494. - Add explicit installation of log and cache directories
  495. - Clean up build dependencies.
  496. * Thu Dec 19 2019 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-11
  497. - Fix remaining ownership and permissions issues.
  498. * Mon Nov 04 2019 Konstantinos Natsakis <konstantinos.natsakis@gmail.com> 0.0.0-10
  499. - Fix /etc/netdata permissions
  500. * Mon Sep 23 2019 Konstantinos Natsakis <konstantinos.natsakis@gmail.com> 0.0.0-9
  501. - Do not build CUPS plugin subpackage on CentOS 6 and CentOS 7
  502. * Tue Aug 20 2019 Pavlos Emm. Katsoulakis <paul@netdat.acloud> - 0.0.0-8
  503. - Split CUPS functionality on separate package
  504. * Fri Jun 28 2019 Pavlos Emm. Katsoulakis <paul@netdata.cloud> - 0.0.0-7
  505. - Raise the path overrides to the spec file level, not just the configure.
  506. - Adjust tighter permissions on some folders, based on what we did on our installer
  507. - Introduce go.d plugin download and install, to include it on the package (Temporarily, to become separate package on next iteration)
  508. * Tue Jun 25 2019 Pavlos Emm. Katsoulakis <paul@netdata.cloud> - 0.0.0-6
  509. - Adjust dependency list: Some packages are missing on some distros, adopt to build successfully
  510. * Mon Jun 24 2019 Pavlos Emm. Katsoulakis <paul@netdata.cloud> - 0.0.0-5
  511. Another pass on cleaning up pre/post installation steps
  512. - Sync permission and ownership on files and directories
  513. * Sun Jun 16 2019 Pavlos Emm. Katsoulakis <paul@netdata.cloud> - 0.0.0-4
  514. First draft refactor on package dependencies section
  515. - Remove freeipmi/nfacct plugin flags. We auto-detect all plugins by decision
  516. - Start refactor of package dependencies
  517. - Add missing dependencies, with respect to distro peculiarities
  518. - Adjust existing dependencies, so that distro-specific package names is applied
  519. * Wed Jan 02 2019 Pawel Krupa <pkrupa@redhat.com> - 0.0.0-3
  520. - Temporary set version statically
  521. - Fix changelog ordering
  522. - Comment-out node.d configuration directory
  523. * Wed Jan 02 2019 Pawel Krupa <pkrupa@redhat.com> - 0.0.0-2
  524. - Fix permissions for log files
  525. * Sun Nov 15 2015 Alon Bar-Lev <alonbl@redhat.com> - 0.0.0-1
  526. - Initial add.