netdata.spec.in 21 KB

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