netdata.spec.in 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612
  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: liblz4-devel
  133. BuildRequires: libjson-c-devel
  134. %else
  135. %if 0%{?fedora}
  136. BuildRequires: protobuf-devel
  137. BuildRequires: protobuf-c-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 protobuf on CentOS 7 or earlier
  202. %if 0%{?centos_ver:1}
  203. %if %{centos_ver} < 8
  204. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-protobuf.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  205. %endif
  206. %endif
  207. %if 0%{?_have_ebpf}
  208. %if 0%{?centos_ver:1}
  209. %if %{centos_ver} < 8
  210. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} centos7
  211. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  212. %else
  213. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} centos8
  214. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  215. %endif
  216. %else
  217. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-libbpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} other
  218. export CFLAGS="${CFLAGS} -fPIC" && ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf-co-re.sh ${RPM_BUILD_DIR}/%{name}-%{version}
  219. %endif
  220. %endif
  221. %build
  222. # Conf step
  223. autoreconf -ivf
  224. %configure \
  225. %if 0%{!?_have_ebpf}
  226. --disable-ebpf
  227. %endif
  228. %if 0%{?centos_ver:1}
  229. %if %{centos_ver} < 8
  230. --with-bundled-protobuf \
  231. %endif
  232. %endif
  233. --prefix="%{_prefix}" \
  234. --sysconfdir="%{_sysconfdir}" \
  235. --localstatedir="%{_localstatedir}" \
  236. --libexecdir="%{_libexecdir}" \
  237. --libdir="%{_libdir}" \
  238. --with-zlib \
  239. --with-math \
  240. --with-user=netdata \
  241. --disable-dependency-tracking
  242. # Build step
  243. %{__make} %{?_smp_mflags}
  244. %install
  245. # ###########################################################
  246. # Clear the directory, if already exists and install
  247. rm -rf "${RPM_BUILD_ROOT}"
  248. %{__make} %{?_smp_mflags} DESTDIR="${RPM_BUILD_ROOT}" install
  249. install -m 644 -p system/netdata.conf "${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}"
  250. # ###########################################################
  251. # Install updater script
  252. install -m 755 -p packaging/installer/netdata-updater.sh "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/netdata-updater.sh"
  253. # ###########################################################
  254. # logrotate settings
  255. install -m 755 -d "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d"
  256. install -m 644 -p system/netdata.logrotate "${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}"
  257. # ###########################################################
  258. # Install freeipmi
  259. install -m 4750 -p freeipmi.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/freeipmi.plugin"
  260. # ###########################################################
  261. # Install apps.plugin
  262. install -m 4750 -p apps.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/apps.plugin"
  263. # ###########################################################
  264. # Install perf.plugin
  265. install -m 4750 -p perf.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/perf.plugin"
  266. # ###########################################################
  267. # Install ebpf.plugin
  268. %if 0%{?_have_ebpf}
  269. install -m 4750 -p ebpf.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/ebpf.plugin"
  270. %endif
  271. # ###########################################################
  272. # Install cups.plugin
  273. %if 0%{?centos_ver} != 6 && 0%{?centos_ver} != 7
  274. install -m 0750 -p cups.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/cups.plugin"
  275. %endif
  276. # ###########################################################
  277. # Install slabinfo.plugin
  278. install -m 4750 -p slabinfo.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/slabinfo.plugin"
  279. # ###########################################################
  280. # Install cache and log directories
  281. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}"
  282. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}"
  283. # ###########################################################
  284. # Install registry directory
  285. install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/lib/%{name}/registry"
  286. # ###########################################################
  287. # Install netdata service
  288. %if %{with systemd}
  289. install -m 755 -d "${RPM_BUILD_ROOT}%{_unitdir}"
  290. install -m 644 -p system/netdata.service "${RPM_BUILD_ROOT}%{_unitdir}/netdata.service"
  291. %else
  292. # install SYSV init stuff
  293. install -d "${RPM_BUILD_ROOT}/etc/rc.d/init.d"
  294. install -m 755 system/netdata-init-d \
  295. "${RPM_BUILD_ROOT}/etc/rc.d/init.d/netdata"
  296. %endif
  297. # ############################################################
  298. # Package Go within netdata (TBD: Package it separately)
  299. safe_sha256sum() {
  300. # Within the context of the installer, we only use -c option that is common between the two commands
  301. # We will have to reconsider if we start non-common options
  302. if command -v sha256sum >/dev/null 2>&1; then
  303. sha256sum $@
  304. elif command -v shasum >/dev/null 2>&1; then
  305. shasum -a 256 $@
  306. else
  307. fatal "I could not find a suitable checksum binary to use"
  308. fi
  309. }
  310. download_go() {
  311. url="${1}"
  312. dest="${2}"
  313. if command -v curl >/dev/null 2>&1; then
  314. curl -sSL --connect-timeout 10 --retry 3 "${url}" > "${dest}"
  315. elif command -v wget >/dev/null 2>&1; then
  316. wget -T 15 -O - "${url}" > "${dest}"
  317. else
  318. echo >&2
  319. echo >&2 "Downloading go.d plugin from '${url}' failed because of missing mandatory packages."
  320. echo >&2 "Either add packages or disable it by issuing '--disable-go' in the installer"
  321. echo >&2
  322. exit 1
  323. fi
  324. }
  325. install_go() {
  326. # When updating this value, ensure correct checksums in packaging/go.d.checksums
  327. GO_PACKAGE_VERSION="$(cat packaging/go.d.version)"
  328. ARCH_MAP=(
  329. 'i386::386'
  330. 'i686::386'
  331. 'x86_64::amd64'
  332. 'aarch64::arm64'
  333. 'armv64::arm64'
  334. 'armv6l::arm'
  335. 'armv7l::arm'
  336. 'armv5tel::arm'
  337. )
  338. if [ -z "${NETDATA_DISABLE_GO+x}" ]; then
  339. echo >&2 "Install go.d.plugin"
  340. ARCH=$(uname -m)
  341. OS=$(uname -s | tr '[:upper:]' '[:lower:]')
  342. for index in "${ARCH_MAP[@]}" ; do
  343. KEY="${index%%::*}"
  344. VALUE="${index##*::}"
  345. if [ "$KEY" = "$ARCH" ]; then
  346. ARCH="${VALUE}"
  347. break
  348. fi
  349. done
  350. tmp=$(mktemp -d /tmp/netdata-go-XXXXXX)
  351. GO_PACKAGE_BASENAME="go.d.plugin-${GO_PACKAGE_VERSION}.${OS}-${ARCH}.tar.gz"
  352. download_go "https://github.com/netdata/go.d.plugin/releases/download/${GO_PACKAGE_VERSION}/${GO_PACKAGE_BASENAME}" "${tmp}/${GO_PACKAGE_BASENAME}"
  353. download_go "https://github.com/netdata/go.d.plugin/releases/download/${GO_PACKAGE_VERSION}/config.tar.gz" "${tmp}/config.tar.gz"
  354. if [ ! -f "${tmp}/${GO_PACKAGE_BASENAME}" ] || [ ! -f "${tmp}/config.tar.gz" ] || [ ! -s "${tmp}/config.tar.gz" ] || [ ! -s "${tmp}/${GO_PACKAGE_BASENAME}" ]; then
  355. echo >&2 "Either check the error or consider disabling it by issuing '--disable-go' in the installer"
  356. echo >&2
  357. return 1
  358. fi
  359. grep "${GO_PACKAGE_BASENAME}\$" "packaging/go.d.checksums" > "${tmp}/sha256sums.txt" 2>/dev/null
  360. grep "config.tar.gz" "packaging/go.d.checksums" >> "${tmp}/sha256sums.txt" 2>/dev/null
  361. # Checksum validation
  362. if ! (cd "${tmp}" && safe_sha256sum -c "sha256sums.txt"); then
  363. echo >&2 "go.d plugin checksum validation failure."
  364. echo >&2 "Either check the error or consider disabling it by issuing '--disable-go' in the installer"
  365. echo >&2
  366. echo "go.d.plugin package files checksum validation failed."
  367. exit 1
  368. fi
  369. # Install files
  370. tar -xf "${tmp}/config.tar.gz" -C "${RPM_BUILD_ROOT}%{_libdir}/%{name}/conf.d/"
  371. tar xf "${tmp}/${GO_PACKAGE_BASENAME}"
  372. mv "${GO_PACKAGE_BASENAME/\.tar\.gz/}" "go.d.plugin"
  373. rm -rf "${tmp}"
  374. fi
  375. return 0
  376. }
  377. install_go
  378. install -m 0640 -p go.d.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/go.d.plugin"
  379. %if 0%{?_have_ebpf}
  380. ${RPM_BUILD_DIR}/%{name}-%{version}/packaging/bundle-ebpf.sh ${RPM_BUILD_DIR}/%{name}-%{version} ${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d
  381. %endif
  382. %pre
  383. if ! getent group netdata > /dev/null; then
  384. groupadd --system netdata
  385. fi
  386. if ! getent passwd netdata > /dev/null; then
  387. useradd --system -g netdata --home %{contentdir} --no-create-home -s /sbin/nologin -c "Netdata pseudo user" netdata
  388. fi
  389. # I am not sure that the corresponding group names are exactly the same as in Debian, but we should start somewhere, shouldn't we?
  390. for item in docker nginx varnish haproxy adm nsd proxy squid ceph nobody I2C; do
  391. if getent group $item > /dev/null 2>&1; then
  392. usermod -a -G $item netdata
  393. fi
  394. done
  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. %{_libexecdir}/%{name}/python.d
  426. %{_libexecdir}/%{name}/plugins.d
  427. %caps(cap_dac_read_search,cap_sys_ptrace=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/apps.plugin
  428. %if %{with netns}
  429. # cgroup-network detects the network interfaces of CGROUPs
  430. # it must be able to use setns() and run cgroup-network-helper.sh as root
  431. # the helper script reads /proc/PID/fdinfo/* files, runs virsh, etc.
  432. %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network
  433. %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network-helper.sh
  434. %endif
  435. # perf plugin
  436. # This should be CAP_PERFMON once RPM finally learns about it, but needs to be CAP_SYS_ADMIN for now.
  437. # %caps(cap_perfmon=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
  438. %caps(cap_sys_admin=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
  439. # perf plugin
  440. %caps(cap_dac_read_search=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/slabinfo.plugin
  441. # freeipmi files
  442. %attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
  443. # go.d.plugin (the capability required for wireguard module)
  444. %caps(cap_net_admin=epi) %{_libexecdir}/%{name}/plugins.d/go.d.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.