Packaging.cmake 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. #
  2. # CPack options
  3. #
  4. set(CPACK_THREADS 0)
  5. set(CPACK_STRIP_FILES NO)
  6. set(CPACK_DEBIAN_DEBUGINFO_PACKAGE NO)
  7. set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS YES)
  8. if(FIELD_DESCR STREQUAL "N/A")
  9. set(CPACK_PACKAGE_VERSION ${FIELD_MAJOR}.${FIELD_MINOR}.${FIELD_PATCH})
  10. else()
  11. set(CPACK_PACKAGE_VERSION ${FIELD_MAJOR}.${FIELD_MINOR}.${FIELD_PATCH}-${FIELD_TWEAK}-${FIELD_DESCR})
  12. endif()
  13. set(CPACK_PACKAGING_INSTALL_PREFIX "/")
  14. set(CPACK_PACKAGE_VENDOR "Netdata Inc.")
  15. set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
  16. set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
  17. set(CPACK_PACKAGE_INSTALL_DIRECTORY "netdata")
  18. set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}/packages")
  19. # to silence lintian
  20. set(CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
  21. OWNER_READ OWNER_WRITE OWNER_EXECUTE
  22. GROUP_READ GROUP_EXECUTE
  23. WORLD_READ WORLD_EXECUTE)
  24. #
  25. # Debian options
  26. #
  27. set(CPACK_DEB_COMPONENT_INSTALL YES)
  28. set(CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS YES)
  29. set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
  30. set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Netdata Builder <bot@netdata.cloud>")
  31. #
  32. # netdata
  33. #
  34. set(CPACK_COMPONENT_NETDATA_DESCRIPTION
  35. "real-time charts for system monitoring
  36. Netdata is a daemon that collects data in realtime (per second)
  37. and presents a web site to view and analyze them. The presentation
  38. is also real-time and full of interactive charts that precisely
  39. render all collected values.")
  40. set(CPACK_DEBIAN_NETDATA_PACKAGE_NAME "netdata")
  41. set(CPACK_DEBIAN_NETDATA_PACKAGE_SECTION "net")
  42. set(CPACK_DEBIAN_NETDATA_PACKAGE_PREDEPENDS
  43. "adduser, dpkg (>= 1.17.14), libcap2-bin (>=1:2.0), lsb-base (>= 3.1-23.2)")
  44. set(CPACK_DEBIAN_NETDATA_PACKAGE_SUGGESTS
  45. "netdata-plugin-cups (= ${CPACK_PACKAGE_VERSION}), netdata-plugin-freeipmi (= ${CPACK_PACKAGE_VERSION})")
  46. set(CPACK_DEBIAN_NETDATA_PACKAGE_RECOMMENDS
  47. "netdata-plugin-systemd-journal (= ${CPACK_PACKAGE_VERSION}), \
  48. netdata-plugin-logs-management (= ${CPACK_PACKAGE_VERSION}), \
  49. netdata-plugin-network-viewer (= ${CPACK_PACKAGE_VERSION})")
  50. set(CPACK_DEBIAN_NETDATA_PACKAGE_CONFLICTS
  51. "netdata-core, netdata-plugins-bash, netdata-plugins-python, netdata-web")
  52. list(APPEND _main_deps "netdata-plugin-chartsd (= ${CPACK_PACKAGE_VERSION})")
  53. list(APPEND _main_deps "netdata-plugin-pythond (= ${CPACK_PACKAGE_VERSION})")
  54. if(ENABLE_PLUGIN_APPS)
  55. list(APPEND _main_deps "netdata-plugin-apps (= ${CPACK_PACKAGE_VERSION})")
  56. endif()
  57. if(ENABLE_PLUGIN_GO)
  58. list(APPEND _main_deps "netdata-plugin-go (= ${CPACK_PACKAGE_VERSION})")
  59. endif()
  60. if(ENABLE_PLUGIN_DEBUGFS)
  61. list(APPEND _main_deps "netdata-plugin-debugfs (= ${CPACK_PACKAGE_VERSION})")
  62. endif()
  63. if(ENABLE_PLUGIN_NFACCT)
  64. list(APPEND _main_deps "netdata-plugin-nfacct (= ${CPACK_PACKAGE_VERSION})")
  65. endif()
  66. if(ENABLE_PLUGIN_SLABINFO)
  67. list(APPEND _main_deps "netdata-plugin-slabinfo (= ${CPACK_PACKAGE_VERSION})")
  68. endif()
  69. if(ENABLE_PLUGIN_PERF)
  70. list(APPEND _main_deps "netdata-plugin-perf (= ${CPACK_PACKAGE_VERSION})")
  71. endif()
  72. if(ENABLE_PLUGIN_EBPF)
  73. list(APPEND _main_deps "netdata-plugin-ebpf (= ${CPACK_PACKAGE_VERSION})")
  74. endif()
  75. list(JOIN _main_deps ", " CPACK_DEBIAN_NETDATA_PACKAGE_DEPENDS)
  76. set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
  77. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/netdata/conffiles;"
  78. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/netdata/preinst"
  79. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/netdata/postinst"
  80. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/netdata/postrm")
  81. set(CPACK_DEBIAN_NETDATA_DEBUGINFO_PACKAGE On)
  82. #
  83. # apps.plugin
  84. #
  85. set(CPACK_COMPONENT_PLUGIN-APPS_DEPENDS "netdata")
  86. set(CPACK_COMPONENT_PLUGIN-APPS_DESCRIPTION
  87. "The per-application metrics collector plugin for the Netdata Agent
  88. This plugin allows the Netdata Agent to collect per-application and
  89. per-user metrics without using cgroups.")
  90. set(CPACK_DEBIAN_PLUGIN-APPS_PACKAGE_NAME "netdata-plugin-apps")
  91. set(CPACK_DEBIAN_PLUGIN-APPS_PACKAGE_SECTION "net")
  92. set(CPACK_DEBIAN_PLUGIN-APPS_PACKAGE_CONFLICTS "netdata (<< ${CPACK_PACKAGE_VERSION})")
  93. set(CPACK_DEBIAN_PLUGIN-APPS_PACKAGE_PREDEPENDS "libcap2-bin, adduser")
  94. set(CPACK_DEBIAN_PLUGIN-APPS_PACKAGE_CONTROL_EXTRA
  95. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/apps/preinst;"
  96. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/apps/postinst")
  97. set(CPACK_DEBIAN_PLUGIN-APPS_DEBUGINFO_PACKAGE On)
  98. #
  99. # charts.d.plugin
  100. #
  101. set(CPACK_COMPONENT_PLUGIN-CHARTSD_DEPENDS "netdata")
  102. set(CPACK_COMPONENT_PLUGIN-CHARTSD_DESCRIPTION
  103. "The charts.d metrics collection plugin for the Netdata Agent
  104. This plugin adds a selection of additional collectors written in shell
  105. script to the Netdata Agent. It includes collectors for APCUPSD,
  106. LibreSWAN, OpenSIPS, and Wireless access point statistics.")
  107. set(CPACK_DEBIAN_PLUGIN-CHARTSD_PACKAGE_NAME "netdata-plugin-chartsd")
  108. set(CPACK_DEBIAN_PLUGIN-CHARTSD_PACKAGE_SECTION "net")
  109. set(CPACK_DEBIAN_PLUGIN-CHARTSD_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  110. set(CPACK_DEBIAN_PLUGIN-CHARTSD_PACKAGE_PREDEPENDS "adduser")
  111. set(CPACK_DEBIAN_PLUGIN-CHARTSD_PACKAGE_RECOMMENDS "bash")
  112. set(CPACK_DEBIAN_PLUGIN-CHARTSD_PACKAGE_ARCHITECTURE "all")
  113. set(CPACK_DEBIAN_PLUGIN-CHARTSD_PACKAGE_SUGGESTS "apcupsd, iw, sudo")
  114. set(CPACK_DEBIAN_PLUGIN-CHARTSD_PACKAGE_CONTROL_EXTRA
  115. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/charts.d/preinst;"
  116. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/charts.d/postinst")
  117. set(CPACK_DEBIAN_PLUGIN-CHARTSD_DEBUGINFO_PACKAGE Off)
  118. #
  119. # cups.plugin
  120. #
  121. set(CPACK_COMPONENT_PLUGIN-CUPS_DEPENDS "netdata")
  122. set(CPACK_COMPONENT_PLUGIN-CUPS_DESCRIPTION
  123. "The CUPS metrics collection plugin for the Netdata Agent
  124. This plugin allows the Netdata Agent to collect metrics from the Common UNIX Printing System.")
  125. set(CPACK_DEBIAN_PLUGIN-CUPS_PACKAGE_NAME "netdata-plugin-cups")
  126. set(CPACK_DEBIAN_PLUGIN-CUPS_PACKAGE_SECTION "net")
  127. set(CPACK_DEBIAN_PLUGIN-CUPS_PACKAGE_DEPENDS "cups")
  128. set(CPACK_DEBIAN_PLUGIN-CUPS_PACKAGE_PREDEPENDS "adduser")
  129. set(CPACK_DEBIAN_PLUGIN-CUPS_PACKAGE_CONTROL_EXTRA
  130. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/cups/preinst;"
  131. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/cups/postinst")
  132. set(CPACK_DEBIAN_PLUGIN-CUPS_DEBUGINFO_PACKAGE On)
  133. #
  134. # debugfs.plugin
  135. #
  136. set(CPACK_COMPONENT_PLUGIN-DEBUGFS_DEPENDS "netdata")
  137. set(CPACK_COMPONENT_PLUGIN-DEBUGFS_DESCRIPTION
  138. "The debugfs metrics collector for the Netdata Agent
  139. This plugin allows the Netdata Agent to collect Linux kernel metrics
  140. exposed through debugfs.")
  141. set(CPACK_DEBIAN_PLUGIN-DEBUGFS_PACKAGE_NAME "netdata-plugin-debugfs")
  142. set(CPACK_DEBIAN_PLUGIN-DEBUGFS_PACKAGE_SECTION "net")
  143. set(CPACK_DEBIAN_PLUGIN-DEBUGFS_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  144. set(CPACK_DEBIAN_PLUGIN-DEBUGFS_PACKAGE_PREDEPENDS "libcap2-bin, adduser")
  145. set(CPACK_DEBIAN_PLUGIN-DEBUGFS_PACKAGE_CONTROL_EXTRA
  146. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/debugfs/preinst;"
  147. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/debugfs/postinst")
  148. set(CPACK_DEBIAN_PLUGIN-DEBUGFS_DEBUGINFO_PACKAGE On)
  149. #
  150. # ebpf.plugin
  151. #
  152. set(CPACK_COMPONENT_PLUGIN-EBPF_DEPENDS "netdata")
  153. set(CPACK_COMPONENT_PLUGIN-EBPF_DESCRIPTION
  154. "The eBPF metrics collection plugin for the Netdata Agent
  155. This plugin allows the Netdata Agent to use eBPF code to collect more
  156. detailed kernel-level metrics for the system.")
  157. set(CPACK_DEBIAN_PLUGIN-EBPF_PACKAGE_NAME "netdata-plugin-ebpf")
  158. set(CPACK_DEBIAN_PLUGIN-EBPF_PACKAGE_SECTION "net")
  159. set(CPACK_DEBIAN_PLUGIN-EBPF_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  160. set(CPACK_DEBIAN_PLUGIN-EBPF_PACKAGE_PREDEPENDS "adduser")
  161. set(CPACK_DEBIAN_PLUGIN-EBPF_PACKAGE_RECOMMENDS "netdata-plugin-apps (= ${CPACK_PACKAGE_VERSION}), netdata-ebpf-code-legacy (= ${CPACK_PACKAGE_VERSION})")
  162. set(CPACK_DEBIAN_PLUGIN-EBPF_PACKAGE_CONTROL_EXTRA
  163. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/ebpf.d/preinst;"
  164. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/ebpf.d/postinst")
  165. set(CPACK_DEBIAN_PLUGIN-EBPF_DEBUGINFO_PACKAGE On)
  166. #
  167. # ebpf-code-legacy
  168. #
  169. set(CPACK_COMPONENT_EBPF-CODE-LEGACY_DEPENDS "netdata")
  170. set(CPACK_COMPONENT_EBPF-CODE-LEGACY_DESCRIPTION
  171. "Compiled eBPF legacy code for the Netdata eBPF plugin
  172. This package provides the pre-compiled eBPF legacy code for use by
  173. the Netdata eBPF plugin. This code is only needed when using the eBPF
  174. plugin with kernel that do not include BTF support (mostly kernel
  175. versions lower than 5.10).")
  176. set(CPACK_DEBIAN_EBPF-CODE-LEGACY_PACKAGE_NAME "netdata-ebpf-code-legacy")
  177. set(CPACK_DEBIAN_EBPF-CODE-LEGACY_PACKAGE_SECTION "net")
  178. set(CPACK_DEBIAN_EBPF-CODE-LEGACY_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  179. set(CPACK_DEBIAN_EBPF-CODE-LEGACY_PACKAGE_PREDEPENDS "adduser")
  180. set(CPACK_DEBIAN_EBPF-CODE-LEGACY_PACKAGE_RECOMMENDS "netdata-plugin-ebpf (= ${CPACK_PACKAGE_VERSION})")
  181. set(CPACK_DEBIAN_EBPF-CODE-LEGACY_PACKAGE_CONTROL_EXTRA
  182. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/ebpf-code-legacy/preinst;"
  183. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/ebpf-code-legacy/postinst")
  184. set(CPACK_DEBIAN_EBPF-CODE-LEGACY_DEBUGINFO_PACKAGE Off)
  185. #
  186. # freeipmi.plugin
  187. #
  188. set(CPACK_COMPONENT_PLUGIN-FREEIPMI_DEPENDS "netdata")
  189. set(CPACK_COMPONENT_PLUGIN-FREEIPMI_DESCRIPTION
  190. "The FreeIPMI metrics collection plugin for the Netdata Agent
  191. This plugin allows the Netdata Agent to collect metrics from hardware
  192. using FreeIPMI.")
  193. set(CPACK_DEBIAN_PLUGIN-FREEIPMI_PACKAGE_NAME "netdata-plugin-freeipmi")
  194. set(CPACK_DEBIAN_PLUGIN-FREEIPMI_PACKAGE_SECTION "net")
  195. set(CPACK_DEBIAN_PLUGIN-FREEIPMI_PACKAGE_DEPENDS "freeipmi")
  196. set(CPACK_DEBIAN_PLUGIN-FREEIPMI_PACKAGE_PREDEPENDS "adduser")
  197. set(CPACK_DEBIAN_PLUGIN-FREEIPMI_PACKAGE_CONTROL_EXTRA
  198. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/freeipmi/preinst;"
  199. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/freeipmi/postinst")
  200. set(CPACK_DEBIAN_PLUGIN-FREEIPMI_DEBUGINFO_PACKAGE On)
  201. #
  202. # go.plugin
  203. #
  204. set(CPACK_COMPONENT_PLUGIN-GO_DEPENDS "netdata")
  205. set(CPACK_COMPONENT_PLUGIN-GO_DESCRIPTION
  206. "The go.d metrics collection plugin for the Netdata Agent
  207. This plugin adds a selection of additional collectors written in Go to
  208. the Netdata Agent. A significant percentage of the application specific
  209. collectors provided by Netdata are part of this plugin, so most users
  210. will want it installed.")
  211. set(CPACK_DEBIAN_PLUGIN-GO_PACKAGE_NAME "netdata-plugin-go")
  212. set(CPACK_DEBIAN_PLUGIN-GO_PACKAGE_SECTION "net")
  213. set(CPACK_DEBIAN_PLUGIN-GO_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  214. set(CPACK_DEBIAN_PLUGIN-GO_PACKAGE_PREDEPENDS "libcap2-bin, adduser")
  215. set(CPACK_DEBIAN_PLUGIN-GO_PACKAGE_SUGGESTS "nvme-cli, sudo")
  216. set(CPACK_DEBIAN_PLUGIN-GO_PACKAGE_CONTROL_EXTRA
  217. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/go.d/preinst;"
  218. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/go.d/postinst")
  219. set(CPACK_DEBIAN_PLUGIN-GO_DEBUGINFO_PACKAGE Off)
  220. #
  221. # logs-management.plugin
  222. #
  223. set(CPACK_COMPONENT_PLUGIN-LOGS-MANAGEMENT_DEPENDS "netdata")
  224. set(CPACK_COMPONENT_PLUGIN-LOGS-MANAGEMENT_DESCRIPTION
  225. "The logs-management plugin for the Netdata Agent
  226. This plugin allows the Netdata Agent to collect logs from the system
  227. and parse them to extract metrics.")
  228. set(CPACK_DEBIAN_PLUGIN-LOGS-MANAGEMENT_PACKAGE_NAME "netdata-plugin-logs-management")
  229. set(CPACK_DEBIAN_PLUGIN-LOGS-MANAGEMENT_PACKAGE_SECTION "net")
  230. set(CPACK_DEBIAN_PLUGIN-LOGS-MANAGEMENT_PACKAGE_PREDEPENDS "libcap2-bin, adduser")
  231. set(CPACK_DEBIAN_PLUGIN-LOGS-MANAGEMENT_PACKAGE_CONTROL_EXTRA
  232. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/logs-management/preinst;"
  233. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/logs-management/postinst")
  234. set(CPACK_DEBIAN_PLUGIN-LOGS-MANAGEMENT_DEBUGINFO_PACKAGE On)
  235. #
  236. # network-viewer.plugin
  237. #
  238. # TODO: recommends netdata-plugin-ebpf
  239. set(CPACK_COMPONENT_PLUGIN-NETWORK-VIEWER_DEPENDS "netdata")
  240. set(CPACK_COMPONENT_PLUGIN-NETWORK-VIEWER_DESCRIPTION
  241. "The network viewer plugin for the Netdata Agent
  242. This plugin allows the Netdata Agent to provide network connection
  243. mapping functionality for use in Netdata Cloud.")
  244. set(CPACK_DEBIAN_PLUGIN-NETWORK_VIEWER_PACKAGE_NAME "netdata-plugin-network-viewer")
  245. set(CPACK_DEBIAN_PLUGIN-NETWORK-VIEWER_PACKAGE_SECTION "net")
  246. set(CPACK_DEBIAN_PLUGIN-NETWORK-VIEWER_PACKAGE_PREDEPENDS "libcap2-bin, adduser")
  247. set(CPACK_DEBIAN_PLUGIN-NETWORK-VIEWER_PACKAGE_RECOMMENDS "netdata-plugin-ebpf (= ${CPACK_PACKAGE_VERSION})")
  248. set(CPACK_DEBIAN_PLUGIN-NETWORK-VIEWER_PACKAGE_CONTROL_EXTRA
  249. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/network-viewer/preinst;"
  250. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/network-viewer/postinst")
  251. set(CPACK_DEBIAN_PLUGIN-NETWORK-VIEWER_DEBUGINFO_PACKAGE On)
  252. #
  253. # nfacct.plugin
  254. #
  255. set(CPACK_COMPONENT_PLUGIN-NFACCT_DEPENDS "netdata")
  256. set(CPACK_COMPONENT_PLUGIN-NFACCT_DESCRIPTION
  257. "The NFACCT metrics collection plugin for the Netdata Agent
  258. This plugin allows the Netdata Agent to collect metrics from the firewall
  259. using NFACCT objects.")
  260. set(CPACK_DEBIAN_PLUGIN-NFACCT_PACKAGE_NAME "netdata-plugin-nfacct")
  261. set(CPACK_DEBIAN_PLUGIN-NFACCT_PACKAGE_SECTION "net")
  262. set(CPACK_DEBIAN_PLUGIN-NFACCT_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  263. set(CPACK_DEBIAN_PLUGIN-NFACCT_PACKAGE_PREDEPENDS "adduser")
  264. set(CPACK_DEBIAN_PLUGIN-NFACCT_PACKAGE_CONTROL_EXTRA
  265. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/nfacct/preinst;"
  266. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/nfacct/postinst")
  267. set(CPACK_DEBIAN_PLUGIN-NFACCT_DEBUGINFO_PACKAGE On)
  268. #
  269. # perf.plugin
  270. #
  271. set(CPACK_COMPONENT_PLUGIN-PERF_DEPENDS "netdata")
  272. set(CPACK_COMPONENT_PLUGIN-PERF_DESCRIPTION
  273. "The perf metrics collector for the Netdata Agent
  274. This plugin allows the Netdata to collect metrics from the Linux perf
  275. subsystem.")
  276. set(CPACK_DEBIAN_PLUGIN-PERF_PACKAGE_NAME "netdata-plugin-perf")
  277. set(CPACK_DEBIAN_PLUGIN-PERF_PACKAGE_SECTION "net")
  278. set(CPACK_DEBIAN_PLUGIN-PERF_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  279. set(CPACK_DEBIAN_PLUGIN-PERF_PACKAGE_PREDEPENDS "libcap2-bin, adduser")
  280. set(CPACK_DEBIAN_PLUGIN-PERF_PACKAGE_CONTROL_EXTRA
  281. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/perf/preinst;"
  282. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/perf/postinst")
  283. set(CPACK_DEBIAN_PLUGIN-PERF_DEBUGINFO_PACKAGE On)
  284. #
  285. # pythond.plugin
  286. #
  287. set(CPACK_COMPONENT_PLUGIN-PYTHOND_DEPENDS "netdata")
  288. set(CPACK_COMPONENT_PLUGIN-PYTHOND_DESCRIPTION
  289. "The python.d metrics collection plugin for the Netdata Agent
  290. Many of the collectors provided by this package are also available
  291. in netdata-plugin-god. In msot cases, you probably want to use those
  292. versions instead of the Python versions.")
  293. set(CPACK_DEBIAN_PLUGIN-PYTHOND_PACKAGE_NAME "netdata-plugin-pythond")
  294. set(CPACK_DEBIAN_PLUGIN-PYTHOND_PACKAGE_SECTION "net")
  295. set(CPACK_DEBIAN_PLUGIN-PYTHOND_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  296. set(CPACK_DEBIAN_PLUGIN-PYTHOND_PACKAGE_PREDEPENDS "adduser")
  297. set(CPACK_DEBIAN_PLUGIN-PYTHOND_PACKAGE_SUGGESTS "sudo")
  298. set(CPACK_DEBIAN_PLUGIN-PYTHOND_PACHAGE_RECOMMENDS "python3")
  299. set(CPACK_DEBIAN_PLUGIN-PYTHOND_PACKAGE_ARCHITECTURE "all")
  300. set(CPACK_DEBIAN_PLUGIN-PYTHOND_PACKAGE_CONTROL_EXTRA
  301. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/python.d/preinst;"
  302. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/python.d/postinst")
  303. set(CPACK_DEBIAN_PLUGIN-PYTHOND_DEBUGINFO_PACKAGE Off)
  304. #
  305. # slabinfo.plugin
  306. #
  307. set(CPACK_COMPONENT_PLUGIN-SLABINFO_DEPENDS "netdata")
  308. set(CPACK_COMPONENT_PLUGIN-SLABINFO_DESCRIPTION
  309. "The slabinfo metrics collector for the Netdata Agent
  310. This plugin allows the Netdata Agent to collect perfromance and
  311. utilization metrics for the Linux kernel’s SLAB allocator.")
  312. set(CPACK_DEBIAN_PLUGIN-SLABINFO_PACKAGE_NAME "netdata-plugin-slabinfo")
  313. set(CPACK_DEBIAN_PLUGIN-SLABINFO_PACKAGE_SECTION "net")
  314. set(CPACK_DEBIAN_PLUGIN-SLABINFO_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  315. set(CPACK_DEBIAN_PLUGIN-SLABINFO_PACKAGE_PREDEPENDS "libcap2-bin, adduser")
  316. set(CPACK_DEBIAN_PLUGIN-SLABINFO_PACKAGE_CONTROL_EXTRA
  317. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/slabinfo/preinst;"
  318. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/slabinfo/postinst")
  319. set(CPACK_DEBIAN_PLUGIN-SLABINFO_DEBUGINFO_PACKAGE On)
  320. #
  321. # systemd-journal.plugin
  322. #
  323. set(CPACK_COMPONENT_PLUGIN-SYSTEMD-JOURNAL_DEPENDS "netdata")
  324. set(CPACK_COMPONENT_PLUGIN-SYSTEMD-JOURNAL_DESCRIPTION
  325. "The systemd-journal collector for the Netdata Agent
  326. This plugin allows the Netdata Agent to present logs from the systemd
  327. journal on Netdata Cloud or the local Agent dashboard.")
  328. set(CPACK_DEBIAN_PLUGIN-SYSTEMD-JOURNAL_PACKAGE_NAME "netdata-plugin-systemd-journal")
  329. set(CPACK_DEBIAN_PLUGIN-SYSTEMD-JOURNAL_PACKAGE_SECTION "net")
  330. set(CPACK_DEBIAN_PLUGIN-SYSTEMD-JOURNAL_PACKAGE_PREDEPENDS "libcap2-bin, adduser")
  331. set(CPACK_DEBIAN_PLUGIN-SYSTEMD-JOURNAL_PACKAGE_CONTROL_EXTRA
  332. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/systemd-journal/preinst;"
  333. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/systemd-journal/postinst")
  334. set(CPACK_DEBIAN_PLUGIN-SYSTEMD_JOURNAL_DEBUGINFO_PACKAGE On)
  335. #
  336. # xenstat.plugin
  337. #
  338. set(CPACK_COMPONENT_PLUGIN-XENSTAT_DEPENDS "netdata")
  339. set(CPACK_COMPONENT_PLUGIN-XENSTAT_DESCRIPTION
  340. "The xenstat plugin for the Netdata Agent
  341. This plugin allows the Netdata Agent to collect metrics from the Xen
  342. Hypervisor.")
  343. set(CPACK_DEBIAN_PLUGIN-XENSTAT_PACKAGE_NAME "netdata-plugin-xenstat")
  344. set(CPACK_DEBIAN_PLUGIN-XENSTAT_PACKAGE_SECTION "net")
  345. set(CPACK_DEBIAN_PLUGIN-XENSTAT_PACKAGE_CONFLICTS "netdata (<< 1.40)")
  346. set(CPACK_DEBIAN_PLUGIN-XENSTAT_PACKAGE_PREDEPENDS "adduser")
  347. set(CPACK_DEBIAN_PLUGIN-XENSTAT_PACKAGE_CONTROL_EXTRA
  348. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/xenstat/preinst;"
  349. "${CMAKE_SOURCE_DIR}/packaging/cmake/control/xenstat/postinst")
  350. set(CPACK_DEBIAN_PLUGIN-XENSTAT_DEBUGINFO_PACKAGE On)
  351. #
  352. # CPack components
  353. #
  354. list(APPEND CPACK_COMPONENTS_ALL "netdata")
  355. if(ENABLE_PLUGIN_APPS)
  356. list(APPEND CPACK_COMPONENTS_ALL "plugin-apps")
  357. endif()
  358. list(APPEND CPACK_COMPONENTS_ALL "plugin-chartsd")
  359. if(ENABLE_PLUGIN_CUPS)
  360. list(APPEND CPACK_COMPONENTS_ALL "plugin-cups")
  361. endif()
  362. if(ENABLE_PLUGIN_DEBUGFS)
  363. list(APPEND CPACK_COMPONENTS_ALL "plugin-debugfs")
  364. endif()
  365. if(ENABLE_PLUGIN_EBPF)
  366. list(APPEND CPACK_COMPONENTS_ALL "plugin-ebpf")
  367. endif()
  368. if(ENABLE_EBPF_LEGACY_PROGRAMS)
  369. list(APPEND CPACK_COMPONENTS_ALL "ebpf-code-legacy")
  370. endif()
  371. if(ENABLE_PLUGIN_FREEIPMI)
  372. list(APPEND CPACK_COMPONENTS_ALL "plugin-freeipmi")
  373. endif()
  374. if(ENABLE_PLUGIN_GO)
  375. list(APPEND CPACK_COMPONENTS_ALL "plugin-go")
  376. endif()
  377. if(ENABLE_PLUGIN_LOGS_MANAGEMENT)
  378. list(APPEND CPACK_COMPONENTS_ALL "plugin-logs-management")
  379. endif()
  380. if(ENABLE_PLUGIN_NETWORK_VIEWER)
  381. list(APPEND CPACK_COMPONENTS_ALL "plugin-network-viewer")
  382. endif()
  383. if(ENABLE_PLUGIN_NFACCT)
  384. list(APPEND CPACK_COMPONENTS_ALL "plugin-nfacct")
  385. endif()
  386. if(ENABLE_PLUGIN_PERF)
  387. list(APPEND CPACK_COMPONENTS_ALL "plugin-perf")
  388. endif()
  389. list(APPEND CPACK_COMPONENTS_ALL "plugin-pythond")
  390. if(ENABLE_PLUGIN_SLABINFO)
  391. list(APPEND CPACK_COMPONENTS_ALL "plugin-slabinfo")
  392. endif()
  393. if(ENABLE_PLUGIN_SYSTEMD_JOURNAL)
  394. list(APPEND CPACK_COMPONENTS_ALL "plugin-systemd-journal")
  395. endif()
  396. if(ENABLE_PLUGIN_XENSTAT)
  397. list(APPEND CPACK_COMPONENTS_ALL "plugin-xenstat")
  398. endif()
  399. include(CPack)