netdata.spec.in 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
  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. # Disable FreeIPMI on Amazon Linux
  25. %if 0%{?amzn}
  26. %global _have_freeipmi 0
  27. %else
  28. %global _have_freeipmi 1
  29. %endif
  30. # Disable the NFACCT plugin on Amazon Linux
  31. %if 0%{?amzn}
  32. %global _have_nfacct 0
  33. %else
  34. %global _have_nfacct 1
  35. %endif
  36. # Mitigate the cross-distro mayhem by strictly defining the libexec destination
  37. %define _prefix /usr
  38. %define _sysconfdir /etc
  39. %define _localstatedir /var
  40. %define _libexecdir /usr/libexec
  41. %define _libdir /usr/lib
  42. # Fedora doesn’t define this, but other distros do
  43. %{!?_presetdir:%global _presetdir %{_libdir}/systemd/system-preset}
  44. # Redefine centos_ver to standardize on a single macro
  45. %{?rhel:%global centos_ver %rhel}
  46. #
  47. # Conditional build:
  48. %bcond_without netns # build with netns support (cgroup-network)
  49. %if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1140
  50. %else
  51. %undefine with_netns
  52. %endif
  53. Summary: Real-time performance monitoring, done right!
  54. Name: netdata
  55. Version: %{version}
  56. Release: 1%{?dist}
  57. License: GPLv3+
  58. Group: Applications/System
  59. Source0: https://github.com/netdata/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
  60. URL: http://my-netdata.io
  61. # Remove conflicting EPEL packages
  62. Obsoletes: %{name}-conf
  63. Obsoletes: %{name}-data
  64. # #####################################################################
  65. # Core build/install/runtime dependencies
  66. # #####################################################################
  67. # Build dependencies
  68. #
  69. BuildRequires: gcc
  70. BuildRequires: gcc-c++
  71. BuildRequires: make
  72. BuildRequires: git-core
  73. BuildRequires: autoconf
  74. %if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1140
  75. BuildRequires: autoconf-archive
  76. %if 0%{?rhel} <= 8 && 0%{?amzn} < 2023
  77. BuildRequires: autogen
  78. %endif
  79. %endif
  80. BuildRequires: automake
  81. BuildRequires: cmake
  82. BuildRequires: pkgconfig
  83. BuildRequires: curl
  84. BuildRequires: findutils
  85. BuildRequires: zlib-devel
  86. BuildRequires: libuuid-devel
  87. BuildRequires: libuv-devel >= 1
  88. BuildRequires: openssl-devel
  89. %if 0%{?suse_version}
  90. BuildRequires: protobuf-devel
  91. BuildRequires: libprotobuf-c-devel
  92. BuildRequires: liblz4-devel
  93. BuildRequires: libjson-c-devel
  94. BuildRequires: libyaml-devel
  95. %else
  96. %if 0%{?fedora}
  97. BuildRequires: protobuf-devel
  98. BuildRequires: protobuf-c-devel
  99. BuildRequires: lz4-devel
  100. BuildRequires: json-c-devel
  101. BuildRequires: libyaml-devel
  102. %else
  103. %if 0%{?centos_ver} >= 8
  104. BuildRequires: protobuf-devel
  105. BuildRequires: protobuf-c-devel
  106. %endif
  107. BuildRequires: lz4-devel
  108. BuildRequires: json-c-devel
  109. BuildRequires: libyaml-devel
  110. %endif
  111. %endif
  112. # Core build requirements for service install
  113. %if 0%{?suse_version}
  114. BuildRequires: systemd-rpm-macros
  115. %else
  116. BuildRequires: systemd
  117. %endif
  118. # Runtime dependencies
  119. #
  120. %if 0%{?centos_ver} == 7 || 0%{?centos_ver} == 6
  121. Requires: python
  122. %else
  123. %if 0%{?centos_ver} == 8
  124. Requires: python38
  125. %else
  126. Requires: python3
  127. %endif
  128. %endif
  129. # Core requirements for the install to succeed
  130. Requires(pre): /usr/sbin/groupadd
  131. Requires(pre): /usr/sbin/useradd
  132. # #####################################################################
  133. # Functionality-dependent package dependencies
  134. # #####################################################################
  135. # Note: Some or all of the Packages may be found in the EPEL repo,
  136. # rather than the standard ones
  137. # epbf dependencies
  138. %if 0%{?_have_ebpf}
  139. %if 0%{?suse_version}
  140. BuildRequires: libelf-devel
  141. %else
  142. BuildRequires: elfutils-libelf-devel
  143. %endif
  144. %endif
  145. # end - ebpf dependencies
  146. # nfacct plugin dependencies
  147. %if %{_have_nfacct}
  148. BuildRequires: libmnl-devel
  149. %if 0%{?fedora} || 0%{?suse_version} >= 1140
  150. BuildRequires: libnetfilter_acct-devel
  151. %endif
  152. %endif
  153. # end nfacct plugin dependencies
  154. # freeipmi plugin dependencies
  155. %if %{_have_freeipmi}
  156. BuildRequires: freeipmi-devel
  157. %endif
  158. # end - freeipmi plugin dependencies
  159. # CUPS plugin dependencies
  160. %if 0%{?centos_ver} != 6 && 0%{?centos_ver} != 7
  161. BuildRequires: cups-devel >= 1.7
  162. %endif
  163. # end - cups plugin dependencies
  164. # Prometheus remote write dependencies
  165. BuildRequires: snappy-devel
  166. # end - prometheus remote write dependencies
  167. # #####################################################################
  168. # End of dependency management configuration
  169. # #####################################################################
  170. %description
  171. netdata is the fastest way to visualize metrics. It is a resource
  172. efficient, highly optimized system for collecting and visualizing any
  173. type of realtime timeseries data, from CPU usage, disk activity, SQL
  174. queries, API calls, web site visitors, etc.
  175. netdata tries to visualize the truth of now, in its greatest detail,
  176. so that you can get insights of what is happening now and what just
  177. happened, on your systems and applications.
  178. %prep
  179. %setup -q -n %{name}-%{version}
  180. # Only bundle protobuf on CentOS 7 or earlier
  181. %if 0%{?centos_ver:1}
  182. %if %{centos_ver} < 8
  183. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-protobuf.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  184. %endif
  185. %endif
  186. %if 0%{?_have_ebpf}
  187. %if 0%{?centos_ver:1}
  188. %if %{centos_ver} < 8
  189. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} centos7
  190. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  191. %else
  192. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} centos8
  193. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  194. %endif
  195. %else
  196. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} other
  197. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  198. %endif
  199. %endif
  200. %build
  201. # Conf step
  202. autoreconf -ivf
  203. %configure \
  204. %if 0%{!?_have_ebpf}
  205. --disable-ebpf
  206. %endif
  207. %if 0%{?centos_ver:1}
  208. %if %{centos_ver} < 8
  209. --with-bundled-protobuf \
  210. %endif
  211. %endif
  212. --prefix="%{_prefix}" \
  213. --sysconfdir="%{_sysconfdir}" \
  214. --localstatedir="%{_localstatedir}" \
  215. --libexecdir="%{_libexecdir}" \
  216. --libdir="%{_libdir}" \
  217. --with-zlib \
  218. --with-math \
  219. --with-user=netdata \
  220. --disable-dependency-tracking
  221. # Build step
  222. %{__make} %{?_smp_mflags}
  223. %install
  224. # ###########################################################
  225. # Clear the directory, if already exists and install
  226. rm -rf "${RPM_BUILD_ROOT}"
  227. %{__make} %{?_smp_mflags} DESTDIR="${RPM_BUILD_ROOT}" install
  228. install -m 644 -p system/netdata.conf "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}"
  229. # ###########################################################
  230. # Install updater script
  231. install -m 755 -p packaging/installer/netdata-updater.sh "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/netdata-updater.sh"
  232. # ###########################################################
  233. # logrotate settings
  234. install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d"
  235. install -m 644 -p system/logrotate/netdata "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}"
  236. # ###########################################################
  237. # Install freeipmi
  238. %if %{_have_freeipmi}
  239. install -m 4750 -p freeipmi.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/freeipmi.plugin"
  240. %endif
  241. # ###########################################################
  242. # Install apps.plugin
  243. install -m 4750 -p apps.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/apps.plugin"
  244. # ###########################################################
  245. # Install debugfs.plugin
  246. install -m 0750 -p debugfs.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/debugfs.plugin"
  247. # ###########################################################
  248. # Install perf.plugin
  249. install -m 4750 -p perf.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/perf.plugin"
  250. # ###########################################################
  251. # Install ebpf.plugin
  252. %if 0%{?_have_ebpf}
  253. install -m 4750 -p ebpf.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/ebpf.plugin"
  254. %endif
  255. # ###########################################################
  256. # Install cups.plugin
  257. %if 0%{?centos_ver} != 6 && 0%{?centos_ver} != 7
  258. install -m 0750 -p cups.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/cups.plugin"
  259. %endif
  260. # ###########################################################
  261. # Install slabinfo.plugin
  262. install -m 4750 -p slabinfo.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/slabinfo.plugin"
  263. # ###########################################################
  264. # Install cache and log directories
  265. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}"
  266. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}"
  267. # ###########################################################
  268. # Install registry directory
  269. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/lib/%{name}/registry"
  270. # ###########################################################
  271. # Install netdata service
  272. install -m 755 -d "${RPM_BUILD_ROOT}%{_unitdir}"
  273. install -m 644 -p system/systemd/netdata.service "${RPM_BUILD_ROOT}%{_unitdir}/netdata.service"
  274. install -m 755 -d "${RPM_BUILD_ROOT}%{_presetdir}"
  275. install -m 644 -p system/systemd/50-netdata.preset "${RPM_BUILD_ROOT}%{_presetdir}/50-netdata.preset"
  276. # ############################################################
  277. # Package Go within netdata (TBD: Package it separately)
  278. safe_sha256sum() {
  279. # Within the context of the installer, we only use -c option that is common between the two commands
  280. # We will have to reconsider if we start non-common options
  281. if command -v sha256sum >/dev/null 2>&1; then
  282. sha256sum $@
  283. elif command -v shasum >/dev/null 2>&1; then
  284. shasum -a 256 $@
  285. else
  286. fatal "I could not find a suitable checksum binary to use"
  287. fi
  288. }
  289. download_go() {
  290. url="${1}"
  291. dest="${2}"
  292. if command -v curl >/dev/null 2>&1; then
  293. curl -sSL --connect-timeout 10 --retry 3 "${url}" > "${dest}"
  294. elif command -v wget >/dev/null 2>&1; then
  295. wget -T 15 -O - "${url}" > "${dest}"
  296. else
  297. echo >&2
  298. echo >&2 "Downloading go.d plugin from '${url}' failed because of missing mandatory packages."
  299. echo >&2 "Either add packages or disable it by issuing '--disable-go' in the installer"
  300. echo >&2
  301. exit 1
  302. fi
  303. }
  304. install_go() {
  305. # When updating this value, ensure correct checksums in packaging/go.d.checksums
  306. GO_PACKAGE_VERSION="$(cat packaging/go.d.version)"
  307. ARCH_MAP=(
  308. 'i386::386'
  309. 'i686::386'
  310. 'x86_64::amd64'
  311. 'aarch64::arm64'
  312. 'armv64::arm64'
  313. 'armv6l::arm'
  314. 'armv7l::arm'
  315. 'armv5tel::arm'
  316. )
  317. if [ -z "${NETDATA_DISABLE_GO+x}" ]; then
  318. echo >&2 "Install go.d.plugin"
  319. ARCH=$(uname -m)
  320. OS=$(uname -s | tr '[:upper:]' '[:lower:]')
  321. for index in "${ARCH_MAP[@]}" ; do
  322. KEY="${index%%::*}"
  323. VALUE="${index##*::}"
  324. if [ "$KEY" = "$ARCH" ]; then
  325. ARCH="${VALUE}"
  326. break
  327. fi
  328. done
  329. tmp=$(mktemp -d /tmp/netdata-go-XXXXXX)
  330. GO_PACKAGE_BASENAME="go.d.plugin-${GO_PACKAGE_VERSION}.${OS}-${ARCH}.tar.gz"
  331. download_go "https://github.com/netdata/go.d.plugin/releases/download/${GO_PACKAGE_VERSION}/${GO_PACKAGE_BASENAME}" "${tmp}/${GO_PACKAGE_BASENAME}"
  332. download_go "https://github.com/netdata/go.d.plugin/releases/download/${GO_PACKAGE_VERSION}/config.tar.gz" "${tmp}/config.tar.gz"
  333. if [ ! -f "${tmp}/${GO_PACKAGE_BASENAME}" ] || [ ! -f "${tmp}/config.tar.gz" ] || [ ! -s "${tmp}/config.tar.gz" ] || [ ! -s "${tmp}/${GO_PACKAGE_BASENAME}" ]; then
  334. echo >&2 "Either check the error or consider disabling it by issuing '--disable-go' in the installer"
  335. echo >&2
  336. return 1
  337. fi
  338. grep "${GO_PACKAGE_BASENAME}\$" "packaging/go.d.checksums" > "${tmp}/sha256sums.txt" 2>/dev/null
  339. grep "config.tar.gz" "packaging/go.d.checksums" >> "${tmp}/sha256sums.txt" 2>/dev/null
  340. # Checksum validation
  341. if ! (cd "${tmp}" && safe_sha256sum -c "sha256sums.txt"); then
  342. echo >&2 "go.d plugin checksum validation failure."
  343. echo >&2 "Either check the error or consider disabling it by issuing '--disable-go' in the installer"
  344. echo >&2
  345. echo "go.d.plugin package files checksum validation failed."
  346. exit 1
  347. fi
  348. # Install files
  349. tar -xf "${tmp}/config.tar.gz" -C "${RPM_BUILD_ROOT}%{_libdir}/%{name}/conf.d/"
  350. tar xf "${tmp}/${GO_PACKAGE_BASENAME}"
  351. mv "${GO_PACKAGE_BASENAME/\.tar\.gz/}" "go.d.plugin"
  352. rm -rf "${tmp}"
  353. fi
  354. return 0
  355. }
  356. install_go
  357. install -m 0640 -p go.d.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/go.d.plugin"
  358. %if 0%{?_have_ebpf}
  359. ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d
  360. %endif
  361. %pre
  362. if ! getent group netdata > /dev/null; then
  363. groupadd --system netdata
  364. fi
  365. if ! getent passwd netdata > /dev/null; then
  366. useradd --system -g netdata --home %{contentdir} --no-create-home -s /sbin/nologin -c "Netdata pseudo user" netdata
  367. fi
  368. # I am not sure that the corresponding group names are exactly the same as in Debian, but we should start somewhere, shouldn't we?
  369. for item in docker nginx varnish haproxy adm nsd proxy squid ceph nobody I2C; do
  370. if getent group $item > /dev/null 2>&1; then
  371. usermod -a -G $item netdata
  372. fi
  373. done
  374. %post
  375. %if 0%{?suse_version}
  376. %service_add_post netdata.service
  377. %else
  378. %systemd_post netdata.service
  379. %endif
  380. %preun
  381. %if 0%{?suse_version}
  382. %service_del_preun netdata.service
  383. %else
  384. %systemd_preun netdata.service
  385. %endif
  386. %postun
  387. %if 0%{?suse_version}
  388. %service_del_postun netdata.service
  389. %else
  390. %systemd_postun_with_restart netdata.service
  391. %endif
  392. %clean
  393. rm -rf "${RPM_BUILD_ROOT}"
  394. %files
  395. %doc README.md
  396. %{_sysconfdir}/%{name}
  397. %config(noreplace) %{_sysconfdir}/%{name}/netdata.conf
  398. %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
  399. %dir %{_libdir}/%{name}
  400. %dir %{_datadir}/%{name}
  401. %{_libdir}/%{name}
  402. %{_libdir}/%{name}/conf.d/
  403. %{_libexecdir}/%{name}
  404. %{_sbindir}/%{name}
  405. %{_sbindir}/netdatacli
  406. %{_sbindir}/netdata-claim.sh
  407. %{_unitdir}/netdata.service
  408. %{_presetdir}/50-netdata.preset
  409. %defattr(0750,root,netdata,0750)
  410. %dir %{_libexecdir}/%{name}/python.d
  411. %dir %{_libexecdir}/%{name}/charts.d
  412. %dir %{_libexecdir}/%{name}/plugins.d
  413. %{_libexecdir}/%{name}/python.d
  414. %{_libexecdir}/%{name}/plugins.d
  415. %caps(cap_dac_read_search,cap_sys_ptrace=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/apps.plugin
  416. %if %{with netns}
  417. # cgroup-network detects the network interfaces of CGROUPs
  418. # it must be able to use setns() and run cgroup-network-helper.sh as root
  419. # the helper script reads /proc/PID/fdinfo/* files, runs virsh, etc.
  420. %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network
  421. %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network-helper.sh
  422. %endif
  423. # ebpf plugin
  424. %if 0%{?_have_ebpf}
  425. %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/ebpf.plugin
  426. %endif
  427. # perf plugin
  428. # This should be CAP_PERFMON once RPM finally learns about it, but needs to be CAP_SYS_ADMIN for now.
  429. # %caps(cap_perfmon=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
  430. %caps(cap_sys_admin=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
  431. # debugfs plugin
  432. %caps(cap_dac_read_search=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/debugfs.plugin
  433. # slabinfo plugin
  434. %caps(cap_dac_read_search=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/slabinfo.plugin
  435. # go.d.plugin (the capability required for wireguard module)
  436. %caps(cap_net_admin,cap_net_raw=eip) %{_libexecdir}/%{name}/plugins.d/go.d.plugin
  437. # Enforce 0644 for files and 0755 for directories
  438. # for the netdata web directory
  439. %defattr(0644,root,root,0755)
  440. %{_datadir}/%{name}/web
  441. # Enforce 0660 for files and 0770 for directories
  442. # for the netdata lib, cache and log dirs
  443. %defattr(0660,root,netdata,0770)
  444. %attr(0770,netdata,netdata) %dir %{_localstatedir}/cache/%{name}
  445. %attr(0755,netdata,root) %dir %{_localstatedir}/log/%{name}
  446. %attr(0770,netdata,netdata) %dir %{_localstatedir}/lib/%{name}
  447. %attr(0770,netdata,netdata) %dir %{_localstatedir}/lib/%{name}/registry
  448. # Free IPMI belongs to a different sub-package
  449. %if %{_have_freeipmi}
  450. %exclude %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
  451. %endif
  452. # CUPS belongs to a different sub package
  453. %if 0%{?centos_ver} != 6 && 0%{?centos_ver} != 7
  454. %exclude %{_libexecdir}/%{name}/plugins.d/cups.plugin
  455. %package plugin-cups
  456. Summary: The Common Unix Printing System plugin for netdata
  457. Group: Applications/System
  458. Requires: cups >= 1.7
  459. Requires: netdata = %{version}
  460. %description plugin-cups
  461. This is the Common Unix Printing System plugin for the netdata daemon.
  462. Use this plugin to enable metrics collection from cupsd, the daemon running when CUPS is enabled on the system
  463. %files plugin-cups
  464. %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cups.plugin
  465. %endif
  466. %if %{_have_freeipmi}
  467. %package plugin-freeipmi
  468. Summary: FreeIPMI - The Intelligent Platform Management System
  469. Group: Applications/System
  470. Requires: freeipmi
  471. Requires: netdata = %{version}
  472. %description plugin-freeipmi
  473. The IPMI specification defines a set of interfaces for platform management.
  474. It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in
  475. are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL).
  476. %files plugin-freeipmi
  477. %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
  478. %endif
  479. %changelog
  480. * Tue Mar 21 2023 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-18
  481. - Fix systemd handling to follow BCP.
  482. - Drop pre-systemd init support.
  483. * Thu Feb 16 2023 Konstantin Shalygin <k0ste@k0ste.ru> 0.0.0-17
  484. - Added eBPF build dependency
  485. * Fri 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.