diff --git a/0000-Fix-some-options-and-syntax-errors.patch b/0000-Fix-some-options-and-syntax-errors.patch deleted file mode 100644 index 9d23694c83da3ecf3aa06eeac148e6d073f3d8e1..0000000000000000000000000000000000000000 --- a/0000-Fix-some-options-and-syntax-errors.patch +++ /dev/null @@ -1,184 +0,0 @@ -diff --git a/src/pcp/collectl/pcp-collectl.py b/src/pcp/collectl/pcp-collectl.py -index 3cff1f9..58b8c64 100755 ---- a/src/pcp/collectl/pcp-collectl.py -+++ b/src/pcp/collectl/pcp-collectl.py -@@ -841,7 +841,7 @@ class _Options(object): - opts = pmapi.pmOptions() - opts.pmSetOptionCallback(self.option_callback) - opts.pmSetOverrideCallback(self.override) -- opts.pmSetShortOptions("vp:a:c:f:R:i:s:h:?") -+ opts.pmSetShortOptions("Vvp:a:c:f:R:i:s:h:?") - opts.pmSetLongOptionText("") - opts.pmSetLongOptionText("Interactive: pcp collectl [-h HOST] [options]") - opts.pmSetLongOptionText("Read PCP archive: pcp collectl -a ARCHIVE [options]") -diff --git a/src/pcp/dmcache/pcp-dmcache.py b/src/pcp/dmcache/pcp-dmcache.py -index cd88ed4..29eb0ec 100755 ---- a/src/pcp/dmcache/pcp-dmcache.py -+++ b/src/pcp/dmcache/pcp-dmcache.py -@@ -155,7 +155,7 @@ class DmCachePrinter(pmcc.MetricGroupPrinter): - - if __name__ == '__main__': - try: -- options = pmapi.pmOptions('iR:?') -+ options = pmapi.pmOptions('ViR:?') - options.pmSetShortUsage('[options] [device ...]') - options.pmSetOptionCallback(option) - options.pmSetLongOptionHeader('Options') -diff --git a/src/pcp/dstat/pcp-dstat.py b/src/pcp/dstat/pcp-dstat.py -index c178874..cdd7991 100755 ---- a/src/pcp/dstat/pcp-dstat.py -+++ b/src/pcp/dstat/pcp-dstat.py -@@ -727,7 +727,7 @@ class DstatTool(object): - # opts.pmSetLongOption('zones', 0, None, '', 'enable zoneinfo stats') - opts.pmSetLongOptionText('') - opts.pmSetLongOption('list', 0, None, '', 'list all available plugins') -- opts.pmSetLongOption('plugin', 0, None, '', 'enable external plugin by name, see --list') -+ opts.pmSetLongOption('', 0, None, '', 'enable external plugin by name, see --list') - opts.pmSetLongOptionText('') - opts.pmSetLongOption('all', 0, 'a', '', 'equals -cdngy (default)') - opts.pmSetLongOption('full', 0, 'f', '', 'automatically expand -C, -D, -I, -N and -S lists') -@@ -785,7 +785,7 @@ class DstatTool(object): - self.disklist = sorted([x for x in insts if x != 'total']) - if 'total' in insts: - self.disklist.append('total') -- elif opt in ['--filesystem']: -+ elif opt in ['filesystem']: - self.plugins.append('fs') - elif opt in ['g']: - self.plugins.append('page') -diff --git a/src/pcp/iostat/pcp-iostat.py b/src/pcp/iostat/pcp-iostat.py -index bc716c2..b3a810c 100755 ---- a/src/pcp/iostat/pcp-iostat.py -+++ b/src/pcp/iostat/pcp-iostat.py -@@ -165,11 +165,11 @@ class IostatReport(pmcc.MetricGroupPrinter): - if "t" in IostatOptions.xflag: - heading = ('# Timestamp', 'Device',rrqmspace, 'rrqm/s',wrqmspace, 'wrqm/s',precision+5, 'r/s',precision+4,\ - 'w/s',precision+6, 'rkB/s',precision+6, 'wkB/s', avgrqszspace,'avgrq-sz',precision+6, 'avgqu-sz',precision+5, \ -- 'await',precision+5, 'r_await', precision+5,'w_await',utilspace, '%util') -+ 'await_t',precision+5, 'r_await', precision+5,'w_await',utilspace, '%util') - else: - heading = ('# Device',rrqmspace, 'rrqm/s',wrqmspace, 'wrqm/s',precision+5, 'r/s',precision+4, 'w/s'\ - ,precision+6, 'rkB/s',precision+6, 'wkB/s', avgrqszspace,'avgrq-sz',precision+6, 'avgqu-sz',precision+5,\ -- 'await',awaitspace, 'r_await',awaitspace, 'w_await',utilspace, '%util') -+ 'await_t',awaitspace, 'r_await',awaitspace, 'w_await',utilspace, '%util') - print(headfmt % heading) - - if p_rrqm == {} or p_wrqm == {} or p_r == {} or p_w == {} or \ -@@ -205,7 +205,7 @@ class IostatReport(pmcc.MetricGroupPrinter): - # total active time in seconds (same units as dt) - tot_active = (float)(c_avactive[inst] - p_avactive[inst]) / 1000.0 - -- avgrqsz = avgqsz = await = r_await = w_await = util = 0.0 -+ avgrqsz = avgqsz = await_t = r_await = w_await = util = 0.0 - - # average request size units are KB (sysstat reports in units of sectors) - if tot_ios: -@@ -214,9 +214,9 @@ class IostatReport(pmcc.MetricGroupPrinter): - # average queue length - avgqsz = (float)((c_ractive[inst] - p_ractive[inst]) + (c_wactive[inst] - p_wactive[inst])) / dt / 1000.0 - -- # await, r_await, w_await -+ # await_t, r_await, w_await - if tot_ios: -- await = ((c_ractive[inst] - p_ractive[inst]) + (c_wactive[inst] - p_wactive[inst])) / tot_ios -+ await_t = ((c_ractive[inst] - p_ractive[inst]) + (c_wactive[inst] - p_wactive[inst])) / tot_ios - - if tot_rios: - r_await = (c_ractive[inst] - p_ractive[inst]) / tot_rios -@@ -229,7 +229,7 @@ class IostatReport(pmcc.MetricGroupPrinter): - util = 100.0 * tot_active / dt - - device = inst # prepare name for printing -- badcounters = rrqm < 0 or wrqm < 0 or r < 0 or w < 0 or await < 0 or avgrqsz < 0 or avgqsz < 0 or util < 0 -+ badcounters = rrqm < 0 or wrqm < 0 or r < 0 or w < 0 or await_t < 0 or avgrqsz < 0 or avgqsz < 0 or util < 0 - - if "t" in IostatOptions.xflag: - if badcounters: -@@ -250,7 +250,7 @@ class IostatReport(pmcc.MetricGroupPrinter): - if not IostatOptions.Gflag: - print(valfmt % (timestamp, device,rrqmspace, precision, rrqm,wrqmspace,precision, wrqm,precision+5,precision,\ - r,precision+4,precision, w,precision+6,precision, rkb,precision+6,precision, wkb, avgrqszspace,precision+1 ,avgrqsz,\ -- avgrqszspace,precision+1, avgqsz,precision+5,precision, await,awaitspace,precision, r_await,awaitspace,precision,\ -+ avgrqszspace,precision+1, avgqsz,precision+5,precision, await_t,awaitspace,precision, r_await,awaitspace,precision,\ - w_await,utilspace,precision, util)) - else: - if badcounters: -@@ -270,7 +270,7 @@ class IostatReport(pmcc.MetricGroupPrinter): - if not IostatOptions.Gflag: - print(valfmt % (device,rrqmspace, precision, rrqm,wrqmspace,precision, wrqm,precision+5,precision, r,precision+4,\ - precision, w,precision+6,precision, rkb,precision+6,precision, wkb,\ -- avgrqszspace,precision+1 ,avgrqsz,avgrqszspace,precision+1, avgqsz,precision+5,precision, await,awaitspace,precision,\ -+ avgrqszspace,precision+1 ,avgrqsz,avgrqszspace,precision+1, avgqsz,precision+5,precision, await_t,awaitspace,precision,\ - r_await,awaitspace,precision, w_await,utilspace,precision, util)) - - if IostatOptions.Gflag and not badcounters: -@@ -282,7 +282,7 @@ class IostatReport(pmcc.MetricGroupPrinter): - aggr_wkb = aggregate(aggr, aggr_wkb, wkb) - aggr_avgrqsz = aggregate(aggr, aggr_avgrqsz, avgrqsz) - aggr_avgqsz = aggregate(aggr, aggr_avgqsz, avgqsz) -- aggr_await = aggregate(aggr, aggr_await, await) -+ aggr_await = aggregate(aggr, aggr_await, await_t) - aggr_r_await = aggregate(aggr, aggr_r_await, r_await) - aggr_w_await = aggregate(aggr, aggr_w_await, w_await) - aggr_util = aggregate(aggr, aggr_util, util) -diff --git a/src/pmlogconf/pmlogconf.sh b/src/pmlogconf/pmlogconf.sh -index 44f5099..af2bf37 100755 ---- a/src/pmlogconf/pmlogconf.sh -+++ b/src/pmlogconf/pmlogconf.sh -@@ -161,7 +161,7 @@ _split() - $PCP_AWK_PROG <$tmp/ctl ' - BEGIN { out = "'"$tmp/head"'" } - /DO NOT UPDATE THE FILE ABOVE/ { seen = 1 } --seen == 0 && /^\#\? [^:]*:[ynx]:/ { print >"'"$tmp/tag"'" -+seen == 0 && /^#\? [^:]*:[ynx]:/ { print >"'"$tmp/tag"'" - out = "'"$tmp/tail"'" - seen = 1 - next -@@ -180,8 +180,8 @@ _update() - $PCP_AWK_PROG <$tmp/in >$tmp/ctl ' - /DO NOT UPDATE THE FILE ABOVE/ { tail = 1 } - tail == 1 { print; next } --/^\#\+ [^:]*:[ynx]:/ { sub(/\+/, "?", $1); print; skip = 1; next } --skip == 1 && /^\#----/ { skip = 0; next } -+/^#\+ [^:]*:[ynx]:/ { sub(/\+/, "?", $1); print; skip = 1; next } -+skip == 1 && /^#----/ { skip = 0; next } - skip == 1 { next } - { print }' - -diff --git a/src/pmprobe/pmprobe.c b/src/pmprobe/pmprobe.c -index dcf1567..d6d7ab5 100644 ---- a/src/pmprobe/pmprobe.c -+++ b/src/pmprobe/pmprobe.c -@@ -63,7 +63,7 @@ overrides(int opt, pmOptions *opts) - - static pmOptions opts = { - .flags = PM_OPTFLAG_STDOUT_TZ, -- .short_options = "a:b:D:efh:IiK:Ln:FO:VvZ:z?", -+ .short_options = "a:b:D:defh:IiK:Ln:FO:VvZ:z?", - .long_options = longopts, - .short_usage = "[options] [metricname ...]", - .override = overrides, -diff --git a/src/pmstat/pmstat.c b/src/pmstat/pmstat.c -index c4f9881..b3986d7 100644 ---- a/src/pmstat/pmstat.c -+++ b/src/pmstat/pmstat.c -@@ -371,6 +371,10 @@ main(int argc, char *argv[]) - case 'x': /* extended CPU reporting */ - extraCpuStats = 1; - break; -+ case 'V': -+ pmprintf("%s version %s\n", pmGetProgname(), PCP_VERSION); -+ opts.flags |= PM_OPTFLAG_EXIT; -+ break; - default: - opts.errors++; - break; -@@ -387,7 +391,7 @@ main(int argc, char *argv[]) - opts.errors++; - } - -- if (opts.errors) { -+ if (opts.errors || (opts.flags & PM_OPTFLAG_EXIT)) { - pmUsageMessage(&opts); - exit(1); - } diff --git a/0001-Fix-collectl2pcp-option.patch b/0001-Fix-collectl2pcp-option.patch deleted file mode 100644 index 6404ad17f9e7a569f6407be0da21c2ea9e33d25a..0000000000000000000000000000000000000000 --- a/0001-Fix-collectl2pcp-option.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 3d2902236c931a8022e5031043853e19484e3530 Mon Sep 17 00:00:00 2001 -From: lingsheng -Date: Fri, 18 Sep 2020 09:47:00 +0800 -Subject: [PATCH] Fix collectl2pcp option - ---- - src/collectl2pcp/collectl2pcp.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/collectl2pcp/collectl2pcp.c b/src/collectl2pcp/collectl2pcp.c -index ceb73c6..ad44558 100644 ---- a/src/collectl2pcp/collectl2pcp.c -+++ b/src/collectl2pcp/collectl2pcp.c -@@ -98,7 +98,7 @@ int indom_cnt[NUM_INDOMS]; - - /* global options */ - int vflag; --int Fflag; -+int fflag; - int kernel_all_hz; - int utc_offset; - -@@ -112,7 +112,7 @@ static pmLongOptions longopts[] = { - }; - - static pmOptions opts = { -- .short_options = "FD:v?", -+ .short_options = "fD:v?", - .long_options = longopts, - .short_usage = "inputfile [inputfile ...] archive\n" - "Each 'inputfile' is a collectl archive, must be for the same host (may be gzipped).\n" -@@ -141,8 +141,8 @@ main(int argc, char *argv[]) - - while ((c = pmGetOptions(argc, argv, &opts)) != EOF) { - switch (c) { -- case 'F': -- Fflag = 1; -+ case 'f': -+ fflag = 1; - break; - case 'v': - vflag++; -@@ -166,7 +166,7 @@ main(int argc, char *argv[]) - exit(1); - } - -- if (Fflag) { -+ if (fflag) { - pmsprintf(buf, BUFSIZE, "%s.meta", archive); unlink(buf); - pmsprintf(buf, BUFSIZE, "%s.index", archive); unlink(buf); - for (j=0;; j++) { --- -2.23.0 - diff --git a/0002-fix-some-pcp-pidstat-bugs.patch b/0002-fix-some-pcp-pidstat-bugs.patch deleted file mode 100644 index 81877b2e1ce3ac4e10bf2041f6c9d620dff4cfa3..0000000000000000000000000000000000000000 --- a/0002-fix-some-pcp-pidstat-bugs.patch +++ /dev/null @@ -1,67 +0,0 @@ -From a0263117a9383623860cda6d60a6cacfb957f445 Mon Sep 17 00:00:00 2001 -From: si-gui <245140120@qq.com> -Date: Fri, 18 Sep 2020 21:10:58 +0800 -Subject: [PATCH] fix some pcp-pidstat bugs - -Signed-off-by: si-gui <245140120@qq.com> ---- - src/pcp/pidstat/pcp-pidstat.1 | 8 +------- - src/pcp/pidstat/pcp-pidstat.py | 5 ++--- - 2 files changed, 3 insertions(+), 10 deletions(-) - -diff --git a/src/pcp/pidstat/pcp-pidstat.1 b/src/pcp/pidstat/pcp-pidstat.1 -index 2e0dafe..b929085 100644 ---- a/src/pcp/pidstat/pcp-pidstat.1 -+++ b/src/pcp/pidstat/pcp-pidstat.1 -@@ -22,7 +22,7 @@ - .SH DESCRIPTION - .B pcp-pidstat - command is used for monitoring individual tasks currently being managed by the Linux kernel. Using various options it helps user to see useful information related with the processes. This information can include percentage CPU, memory and stack usages, scheduling and priority information. By default pcp-pidstat reports live --data for the local host but can also report for a remote host (--host) or from a previously captured PCP archive (-a). -+data for the local host but can also report from a previously captured PCP archive (-a). - .BR pcp-pidstat - fetches the data to be analysed from PMCD unless provided \-a option. (See below) - -@@ -51,12 +51,6 @@ Causes pcp\-pidstat to use the specified archive than connecting to PMCD. The ar - list of names, each of which may be the base name of an archive or the name of a directory containing one or more archives. Archives can be created using - .BR pmlogger (1)\. - --.TP --.B \--host --Current performance metric values are retrieved from the nominated --.I host --machine. -- - .TP - .BR \-B \fR - Report process states. The argument to -B is one of the following: -diff --git a/src/pcp/pidstat/pcp-pidstat.py b/src/pcp/pidstat/pcp-pidstat.py -index a790793..d126fba 100755 ---- a/src/pcp/pidstat/pcp-pidstat.py -+++ b/src/pcp/pidstat/pcp-pidstat.py -@@ -776,12 +776,11 @@ class PidstatOptions(pmapi.pmOptions): - #After reading in the provided command line options - #initalize them by passing them in - def __init__(self): -- pmapi.pmOptions.__init__(self,"a:s:t:G:IU::p:RrkVZ:z?:f:B:l") -+ pmapi.pmOptions.__init__(self,"a:s:t:G:IU:p:RrkVZ:z?f:B:l") - self.pmSetOptionCallback(self.extraOptions) - self.pmSetOverrideCallback(self.override) - self.pmSetLongOptionHeader("General options") - self.pmSetLongOptionArchive() -- self.pmSetLongOptionHost() # --host for remote monitoring - self.pmSetLongOptionSamples() - self.pmSetLongOptionInterval() - self.pmSetLongOption("process-name",1,"G","NAME","Select process names using regular expression.") -@@ -791,7 +790,7 @@ class PidstatOptions(pmapi.pmOptions): - self.pmSetLongOption("",0,"R","","Report realtime priority and scheduling policy information.") - self.pmSetLongOption("",0,"r","","Report page faults and memory utilization.") - self.pmSetLongOption("",0,"k","","Report stack utilization.") -- self.pmSetLongOption("",0,"f","","Format the timestamp output") -+ self.pmSetLongOption("",0,"f","","Format the timestamp output,use -f [FORMAT] specify the timestamp format") - self.pmSetLongOption("",0,"B","state1,state2,..","Report process state information. Use -B [all] or -B [comma separated states]. Use -B detail for showing time spent in every state per process") - self.pmSetLongOptionVersion() - self.pmSetLongOptionTimeZone() --- -2.23.0 - diff --git a/0003-fix-pcp-pidstat-bug.patch b/0003-fix-pcp-pidstat-bug.patch deleted file mode 100644 index 1b214a795ebf28db844d77640f390f22a822381a..0000000000000000000000000000000000000000 --- a/0003-fix-pcp-pidstat-bug.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/pmlogconf/tools/pidstat b/src/pmlogconf/tools/pidstat -index b3cfbce..c040a60 100644 ---- a/src/pmlogconf/tools/pidstat -+++ b/src/pmlogconf/tools/pidstat -@@ -1,6 +1,6 @@ - #pmlogconf-setup 2.0 - ident metrics used by the pcp-pidstat(1) command --probe proc.psinfo.rss values ? available : exclude -+force include - - proc.nprocs - proc.psinfo.pid diff --git a/0004-modify-python2-to-python3.patch b/0004-modify-python2-to-python3.patch deleted file mode 100644 index bfd12e8211cd3b1b49ba8fcbbc396e7fe8ea4b8d..0000000000000000000000000000000000000000 --- a/0004-modify-python2-to-python3.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7fecf25e72225dfd2b3e8ba04e7ec8773fed1df8 Mon Sep 17 00:00:00 2001 -From: wangxiao -Date: Wed, 21 Oct 2020 21:47:04 +0800 -Subject: [PATCH] modify python2.7 to python3.8 - ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 71574ce..dfd4ea6 100755 ---- a/configure -+++ b/configure -@@ -7348,7 +7348,7 @@ fi - - test -n "$PYTHON" && break - done --test -n "$PYTHON" || PYTHON="python2.7" -+test -n "$PYTHON" || PYTHON="python3.8" - - - -diff --git a/configure.ac b/configure.ac -index 2a94208..c42a17b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -785,7 +785,7 @@ AC_CHECK_PROGS(PYLINT, pylint, /bin/true) - AC_SUBST(PYLINT) - - dnl check if python available for the build and runtime --AC_CHECK_PROGS(PYTHON, python, python2.7) -+AC_CHECK_PROGS(PYTHON, python, python3.8) - AC_SUBST(PYTHON) - - dnl check if python3 available for the build and runtime --- -2.23.0 - diff --git a/pcp-4.1.3.tar.gz b/5.3.5.tar.gz similarity index 74% rename from pcp-4.1.3.tar.gz rename to 5.3.5.tar.gz index f3afa0c79b51e64a1a2328d6300133fc1c41e304..ab5803506271a72a603522f8d8fa84d039603d84 100644 Binary files a/pcp-4.1.3.tar.gz and b/5.3.5.tar.gz differ diff --git a/9000-fix-new-function-not-found-when-Install.patch b/9000-fix-new-function-not-found-when-Install.patch deleted file mode 100644 index 22e9cbbab2bdc9212205ce9bcf5c0b73ae4c59e0..0000000000000000000000000000000000000000 --- a/9000-fix-new-function-not-found-when-Install.patch +++ /dev/null @@ -1,56 +0,0 @@ -From f11997e1ce300515016be55c5dcef8d52352af9e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=E6=BD=98=E6=99=A8=E5=8D=9A?= -Date: Tue, 23 Jun 2020 14:15:14 +0800 -Subject: [PATCH] fix new function not found when Install - ---- - src/pmdas/activemq/GNUmakefile | 4 +++- - src/pmdas/activemq/pmdaactivemq.pl | 14 +++++++------- - 2 files changed, 10 insertions(+), 8 deletions(-) - -diff --git a/src/pmdas/activemq/GNUmakefile b/src/pmdas/activemq/GNUmakefile -index da9c583..26bb78e 100644 ---- a/src/pmdas/activemq/GNUmakefile -+++ b/src/pmdas/activemq/GNUmakefile -@@ -41,7 +41,9 @@ build-me: check_domain - install install_pcp: default - $(INSTALL) -m 755 -d $(PMDADIR) - $(INSTALL) -m 755 Install Remove $(PMDADIR) -- $(INSTALL) -m 644 pmda$(IAM).pl $(MODULES) $(PMDADIR) -+ $(INSTALL) -m 644 pmda$(IAM).pl $(PMDADIR)/pmda$(IAM).pl -+ $(INSTALL) -m 755 -d $(PMDADIR)/PCP -+ $(INSTALL) -m 644 $(MODULES) $(PMDADIR)/PCP - @$(INSTALL_MAN) - else - build-me: -diff --git a/src/pmdas/activemq/pmdaactivemq.pl b/src/pmdas/activemq/pmdaactivemq.pl -index 7f835aa..4b54516 100755 ---- a/src/pmdas/activemq/pmdaactivemq.pl -+++ b/src/pmdas/activemq/pmdaactivemq.pl -@@ -49,16 +49,16 @@ my $jvm_garbage_collection_cluster = 5; - for my $file (pmda_config('PCP_PMDAS_DIR') . '/activemq/activemq.conf', 'activemq.conf') { - eval `cat $file` unless ! -f $file; - } --my $timesource = TimeSource->new; --my $cache = Cache->new($timesource, $cache_time); -+my $timesource = PCP::TimeSource->new; -+my $cache = PCP::Cache->new($timesource, $cache_time); - my $http_client = LWP::UserAgent->new; - $http_client->agent('pmdaactivemq'); - $http_client->timeout($rest_timeout); --my $rest_client = RESTClient->new($http_client, $cache, $rest_hostname, $rest_port, $rest_username, $rest_password, $rest_realm); --my $activemq = ActiveMQ->new($rest_client); --my $jvm_memory = JVMMemory->new($rest_client); --my $jvm_memory_pool = JVMMemoryPool->new($rest_client); --my $jvm_garbage_collection = JVMGarbageCollection->new($rest_client); -+my $rest_client = PCP::RESTClient->new($http_client, $cache, $rest_hostname, $rest_port, $rest_username, $rest_password, $rest_realm); -+my $activemq = PCP::ActiveMQ->new($rest_client); -+my $jvm_memory = PCP::JVMMemory->new($rest_client); -+my $jvm_memory_pool = PCP::JVMMemoryPool->new($rest_client); -+my $jvm_garbage_collection = PCP::JVMGarbageCollection->new($rest_client); - - my %queue_instances; - --- -2.23.0 - diff --git a/Add-pcp_domain-selinux-policy.patch b/Add-pcp_domain-selinux-policy.patch deleted file mode 100644 index 1139cef242dc102c74ee5754442bd8ed4942293c..0000000000000000000000000000000000000000 --- a/Add-pcp_domain-selinux-policy.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 630e0e4e304c751127329009000dc0abcb5a62dc Mon Sep 17 00:00:00 2001 -From: lingsheng -Date: Tue, 8 Jun 2021 10:39:37 +0800 -Subject: [PATCH] Add pcp_domain selinux policy - ---- - src/selinux/pcpupstream.te.in | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/selinux/pcpupstream.te.in b/src/selinux/pcpupstream.te.in -index 8a8cc22..77ede46 100644 ---- a/src/selinux/pcpupstream.te.in -+++ b/src/selinux/pcpupstream.te.in -@@ -1,6 +1,9 @@ - module pcpupstream @PACKAGE_VERSION@; - - require { -+ attribute domain; -+ attribute pcp_domain; -+ - type pcp_pmcd_t; - type user_home_t; - type user_home_dir_t; #RHBZ1488116 -@@ -79,7 +82,7 @@ require { - type system_cronjob_t; - type xdm_t; - type postgresql_t; -- class sem { unix_read associate getattr }; -+ class sem { unix_read associate getattr read}; - class lnk_file { read getattr }; - class file { append create execute execute_no_trans getattr ioctl lock open read write @PCP_HOSTNAME_EXEC_MAP@ }; - class dir { add_name open read search write getattr }; -@@ -93,7 +96,7 @@ require { - @PCP_SOCK_FILE_GETATTR@ - @PCP_CLASS_STATUS@ - class tcp_socket { name_bind name_connect }; -- class shm { unix_read associate getattr }; -+ class shm { unix_read associate getattr read}; - class filesystem mount; - class blk_file { ioctl open read }; - class msgq { unix_read }; -@@ -286,6 +289,10 @@ allow pcp_pmcd_t postgresql_t:shm { associate getattr unix_read }; - #type=AVC msg=audit(...): avc: denied { connectto } for pid=NNN comm="python" path="/run/postgresql/.s.PGSQL.5432" scontext=system_u:system_r:pcp_pmcd_t:s0 tcontext=system_u:system_r:postgresql_t:s0 tclass=unix_stream_socket - allow pcp_pmcd_t postgresql_t:unix_stream_socket connectto; - -+# allow pcp_pmcd_t domain to read shared memory and semaphores of all domain on system -+allow pcp_domain domain:shm r_sem_perms; -+allow pcp_domain domain:sem r_shm_perms; -+ - #============= pcp_pmlogger_t ============== - allow pcp_pmlogger_t kmsg_device_t:chr_file { open write }; - allow pcp_pmlogger_t self:capability kill; --- -2.23.0 - diff --git a/CVE-2019-3695-CVE-2019-3696.patch b/CVE-2019-3695-CVE-2019-3696.patch deleted file mode 100644 index 9b1070390e48b3d5f0d139665054b08341d10fc7..0000000000000000000000000000000000000000 --- a/CVE-2019-3695-CVE-2019-3696.patch +++ /dev/null @@ -1,200 +0,0 @@ -From 34c83f7ee46224fe410572f33c57a739f7bd044f Mon Sep 17 00:00:00 2001 -From: Nathan Scott -Date: Sun, 6 Oct 2019 14:10:40 +1100 -Subject: [PATCH] build: drop old config file transition code from rpm specs - -Its been many years since this transition was done, good time -now with pcp-5.0.0 to full this old shell code. Also remove -the Fedora crontab transition logic as thats completely moved -over to systemd now. ---- - build/rpm/GNUmakefile | 1 + - build/rpm/fedora.spec | 57 +--------------------------------------- - build/rpm/pcp.spec.in | 60 ++----------------------------------------- - 3 files changed, 4 insertions(+), 114 deletions(-) - -diff --git a/build/rpm/GNUmakefile b/build/rpm/GNUmakefile -index cf6d21f..40a9efe 100644 ---- a/build/rpm/GNUmakefile -+++ b/build/rpm/GNUmakefile -@@ -111,6 +111,7 @@ pcp.spec: pcp.spec.in - -e's|@pcp_sysconf_dir@|$(PCP_SYSCONF_DIR)|g' \ - -e's|@pcp_share_dir@|$(PCP_SHARE_DIR)|g' \ - -e's|@pcp_log_dir@|$(PCP_LOG_DIR)|g' \ -+ -e's|@pcp_sa_dir@|$(PCP_LOG_DIR)|g' \ - -e's|@pcp_var_dir@|$(PCP_VAR_DIR)|g' \ - -e's|@pcp_etc_dir@|$(PCP_ETC_DIR)|g' \ - -e's|@pcp_binadm_dir@|$(PCP_BINADM_DIR)|g' \ -diff --git a/build/rpm/fedora.spec b/build/rpm/fedora.spec -index 0471dbd..1256926 100644 ---- a/build/rpm/fedora.spec -+++ b/build/rpm/fedora.spec -@@ -2427,56 +2427,6 @@ exit 0 - getent group pcp >/dev/null || groupadd -r pcp - getent passwd pcp >/dev/null || \ - useradd -c "Performance Co-Pilot" -g pcp -d %{_localstatedir}/lib/pcp -M -r -s /sbin/nologin pcp --PCP_CONFIG_DIR=%{_localstatedir}/lib/pcp/config --PCP_SYSCONF_DIR=%{_confdir} --PCP_LOG_DIR=%{_logsdir} --PCP_ETC_DIR=%{_sysconfdir} --# rename crontab files to align with current Fedora packaging guidelines --for crontab in pmlogger pmie --do -- test -f "$PCP_ETC_DIR/cron.d/$crontab" || continue -- mv -f "$PCP_ETC_DIR/cron.d/$crontab" "$PCP_ETC_DIR/cron.d/pcp-$crontab" --done --# produce a script to run post-install to move configs to their new homes --save_configs_script() --{ -- _new="$1" -- shift -- for _dir -- do -- [ "$_dir" = "$_new" ] && continue -- if [ -d "$_dir" ] -- then -- ( cd "$_dir" ; find . -maxdepth 1 -type f ) | sed -e 's/^\.\///' \ -- | while read _file -- do -- [ "$_file" = "control" ] && continue -- _want=true -- if [ -f "$_new/$_file" ] -- then -- # file exists in both directories, pick the more -- # recently modified one -- _try=`find "$_dir/$_file" -newer "$_new/$_file" -print` -- [ -n "$_try" ] || _want=false -- fi -- $_want && echo cp -p "$_dir/$_file" "$_new/$_file" -- done -- fi -- done --} --# migrate and clean configs if we have had a previous in-use installation --[ -d "$PCP_LOG_DIR" ] || exit 0 # no configuration file upgrades required --rm -f "$PCP_LOG_DIR/configs.sh" --for daemon in pmie pmlogger --do -- save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_CONFIG_DIR/$daemon" \ -- "$PCP_SYSCONF_DIR/$daemon" --done --for daemon in pmcd pmproxy --do -- save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_SYSCONF_DIR/$daemon"\ -- "$PCP_CONFIG_DIR/$daemon" /etc/$daemon --done - exit 0 - - %if !%{disable_microhttpd} -@@ -2828,11 +2778,7 @@ pmieconf -c enable dmthin - %{pmda_notready "$1" "prometheus"} - - %post --PCP_LOG_DIR=%{_logsdir} - PCP_PMNS_DIR=%{_pmnsdir} --# restore saved configs, if any --test -s "$PCP_LOG_DIR/configs.sh" && source "$PCP_LOG_DIR/configs.sh" --rm -f $PCP_LOG_DIR/configs.sh - - chown -R pcp:pcp %{_logsdir}/pmcd 2>/dev/null - chown -R pcp:pcp %{_logsdir}/pmlogger 2>/dev/null -@@ -2860,7 +2806,7 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild" - /sbin/service pmproxy condrestart - %endif - --cd $PCP_PMNS_DIR && ./Rebuild -s && rm -f .NeedRebuild -+cd "$PCP_PMNS_DIR" && ./Rebuild -s && rm -f .NeedRebuild - cd - - %post libs -p /sbin/ldconfig -diff --git a/build/rpm/pcp.spec.in b/build/rpm/pcp.spec.in -index dba589e..c37e934 100755 ---- a/build/rpm/pcp.spec.in -+++ b/build/rpm/pcp.spec.in -@@ -2764,11 +2764,6 @@ chown -R pcpqa:pcpqa @pcp_var_dir@/testsuite 2>/dev/null - getent group pcp >/dev/null || groupadd -r pcp - getent passwd pcp >/dev/null || \ - useradd -c "Performance Co-Pilot" -g pcp -d @pcp_var_dir@ -M -r -s /sbin/nologin pcp --# new directories; they should match /etc/pcp.conf settings after install --PCP_CONFIG_DIR=@pcp_var_dir@/config --PCP_SYSCONF_DIR=@pcp_sysconf_dir@ --PCP_LOG_DIR=@pcp_log_dir@ --PCP_ETC_DIR=@pcp_etc_dir@ - - # transition pmdadmcache over to pmdadm (device mapper) - PCP_PMCDCONF_PATH=@pcp_pmcdconf_path@ -@@ -2780,52 +2780,6 @@ - touch "$PCP_PMDAS_DIR/dmcache/.NeedRemove" - fi - --# rename crontab files to align with current Fedora packaging guidelines --for crontab in pmlogger pmie --do -- test -f "$PCP_ETC_DIR/cron.d/$crontab" || continue -- mv -f "$PCP_ETC_DIR/cron.d/$crontab" "$PCP_ETC_DIR/cron.d/pcp-$crontab" --done --# produce a script to run post-install to move configs to their new homes --save_configs_script() --{ -- _new="$1" -- shift -- for _dir -- do -- [ "$_dir" = "$_new" ] && continue -- if [ -d "$_dir" ] -- then -- ( cd "$_dir" ; find . -maxdepth 1 -type f ) | sed -e 's/^\.\///' \ -- | while read _file -- do -- [ "$_file" = "control" ] && continue -- _want=true -- if [ -f "$_new/$_file" ] -- then -- # file exists in both directories, pick the more -- # recently modified one -- _try=`find "$_dir/$_file" -newer "$_new/$_file" -print` -- [ -n "$_try" ] || _want=false -- fi -- $_want && echo cp -p "$_dir/$_file" "$_new/$_file" -- done -- fi -- done --} --# migrate and clean configs if we have had a previous in-use installation --[ -d "$PCP_LOG_DIR" ] || exit 0 # no configuration file upgrades required --rm -f "$PCP_LOG_DIR/configs.sh" --for daemon in pmie pmlogger --do -- save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_CONFIG_DIR/$daemon" \ -- "$PCP_SYSCONF_DIR/$daemon" --done --for daemon in pmcd pmproxy --do -- save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_SYSCONF_DIR/$daemon"\ -- "$PCP_CONFIG_DIR/$daemon" /etc/$daemon --done - exit 0 - - %if "@enable_webapi@" == "true" -@@ -3191,11 +3129,7 @@ fi - %post - PCP_PMNS_DIR=@pcp_var_dir@/pmns - PCP_LOG_DIR=@pcp_log_dir@ --PCP_SYSCONFIG_DIR=@pcp_sysconfig_dir@ -- --# restore saved configs, if any --test -s "$PCP_LOG_DIR/configs.sh" && source "$PCP_LOG_DIR/configs.sh" --rm -f $PCP_LOG_DIR/configs.sh -+PCP_SA_DIR=@pcp_sa_dir@ - - chown -R pcp:pcp "$PCP_LOG_DIR/pmcd" 2>/dev/null - chown -R pcp:pcp "$PCP_LOG_DIR/pmlogger" 2>/dev/null -@@ -3224,7 +3158,7 @@ chmod 644 "$PCP_PMNS_DIR/.NeedRebuild" - /sbin/service pmproxy condrestart - %endif - --cd $PCP_PMNS_DIR && ./Rebuild -s && rm -f .NeedRebuild -+cd "$PCP_PMNS_DIR" && ./Rebuild -s && rm -f .NeedRebuild - cd - - %post libs -p /sbin/ldconfig diff --git a/Fix-pcp-gcc10.patch b/Fix-pcp-gcc10.patch deleted file mode 100644 index 75ad94514f711c09e85587af1989e70046e90332..0000000000000000000000000000000000000000 --- a/Fix-pcp-gcc10.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff --git a/src/external/sds.h b/src/external/sds.h -index 1bdb60d..adcc12c 100644 ---- a/src/external/sds.h -+++ b/src/external/sds.h -@@ -34,7 +34,7 @@ - #define __SDS_H - - #define SDS_MAX_PREALLOC (1024*1024) --const char *SDS_NOINIT; -+extern const char *SDS_NOINIT; - - #include - #include -diff --git a/src/pmdas/cifs/pmda.c b/src/pmdas/cifs/pmda.c -index 84fb50f..9240e3d 100644 ---- a/src/pmdas/cifs/pmda.c -+++ b/src/pmdas/cifs/pmda.c -@@ -25,8 +25,8 @@ static int _isDSO = 1; /* for local contexts */ - - static char *cifs_procfsdir = "/proc/fs/cifs"; - static char *cifs_statspath = ""; --unsigned int global_version_major; --unsigned int global_version_minor; -+extern unsigned int global_version_major; -+extern unsigned int global_version_minor; - - pmdaIndom indomtable[] = { - { .it_indom = CIFS_FS_INDOM }, -diff --git a/src/pmdas/perfevent/configparser.h b/src/pmdas/perfevent/configparser.h -index 4f504ea..c6726f2 100644 ---- a/src/pmdas/perfevent/configparser.h -+++ b/src/pmdas/perfevent/configparser.h -@@ -69,9 +69,9 @@ typedef struct configuration { - pmcdynamic_t *dynamicpmc; - } configuration_t; - --int context_newpmc; --int context_derived; /* A flag to check the current pmc */ --int context_dynamic; /* check the current dynamic pmc */ -+extern int context_newpmc; -+extern int context_derived; /* A flag to check the current pmc */ -+extern int context_dynamic; /* check the current dynamic pmc */ - - /* \brief parse the perf event configuration file - * This function allocates memory. The returned object should be passed to -diff --git a/src/pmdas/perfevent/configparser.l b/src/pmdas/perfevent/configparser.l -index bb139fe..fbdaeca 100644 ---- a/src/pmdas/perfevent/configparser.l -+++ b/src/pmdas/perfevent/configparser.l -@@ -20,6 +20,10 @@ - %{ - #include "configparser.h" - -+int context_newpmc; -+int context_derived; -+int context_dynamic; -+ - static int is_derived(char *name) - { - char *str = NULL; -diff --git a/src/pmdas/perfevent/parse_events.c b/src/pmdas/perfevent/parse_events.c -index efe356f..f6d1a7b 100644 ---- a/src/pmdas/perfevent/parse_events.c -+++ b/src/pmdas/perfevent/parse_events.c -@@ -18,6 +18,8 @@ - #include "parse_events.h" - #include "perfinterface.h" - -+char dev_dir[PATH_MAX]; /* Optional path prefix for the PMU devices */ -+ - static void cleanup_property(struct property *prop) - { - if (!prop) -diff --git a/src/pmdas/perfevent/parse_events.h b/src/pmdas/perfevent/parse_events.h -index 4e09496..8f7a393 100644 ---- a/src/pmdas/perfevent/parse_events.h -+++ b/src/pmdas/perfevent/parse_events.h -@@ -80,11 +80,11 @@ struct software_event { - unsigned long long config; - }; - --char dev_dir[PATH_MAX]; /* Optional path prefix for the PMU devices */ -+extern char dev_dir[]; /* Optional path prefix for the PMU devices */ - --int init_dynamic_events(struct pmu **pmu_list); --void setup_cpu_config(struct pmu *pmu_ptr, int *ncpus, int **cpuarr); --int get_file_string(char *path, char *buf); --void cleanup_pmu_list(struct pmu *pmu); -+extern int init_dynamic_events(struct pmu **pmu_list); -+extern void setup_cpu_config(struct pmu *pmu_ptr, int *ncpus, int **cpuarr); -+extern int get_file_string(char *path, char *buf); -+extern void cleanup_pmu_list(struct pmu *pmu); - - #endif /* PARSE_EVENTS_H_ */ diff --git a/_constraints b/_constraints deleted file mode 100644 index e8415de8e64dc275e327b1e3e5a276690e567f97..0000000000000000000000000000000000000000 --- a/_constraints +++ /dev/null @@ -1,6 +0,0 @@ - - - 4.0 - - - diff --git a/pcp-webapp-blinkenlights-1.0.1.tar.gz b/pcp-webapp-blinkenlights-1.0.1.tar.gz deleted file mode 100644 index 6964a88b66668182e846ad5351b14ba11d94a1be..0000000000000000000000000000000000000000 Binary files a/pcp-webapp-blinkenlights-1.0.1.tar.gz and /dev/null differ diff --git a/pcp-webapp-grafana-1.9.1-2.tar.gz b/pcp-webapp-grafana-1.9.1-2.tar.gz deleted file mode 100644 index 37b1b353b0316a50e8a62159f1c0b7d93b792692..0000000000000000000000000000000000000000 Binary files a/pcp-webapp-grafana-1.9.1-2.tar.gz and /dev/null differ diff --git a/pcp-webapp-graphite-0.9.10.tar.gz b/pcp-webapp-graphite-0.9.10.tar.gz deleted file mode 100644 index be6f2092d8ce50fe050428f75599c2a9c6ed4a77..0000000000000000000000000000000000000000 Binary files a/pcp-webapp-graphite-0.9.10.tar.gz and /dev/null differ diff --git a/pcp-webapp-vector-1.3.1-1.tar.gz b/pcp-webapp-vector-1.3.1-1.tar.gz deleted file mode 100644 index c5e7f834d8e78d8858d469cbada804ed3267261b..0000000000000000000000000000000000000000 Binary files a/pcp-webapp-vector-1.3.1-1.tar.gz and /dev/null differ diff --git a/pcp.spec b/pcp.spec index 0959818a3f5b0f1b34498586c9c7535464a80b4d..d41caf9391639dcefd0f9ee759aa72993e026585 100644 --- a/pcp.spec +++ b/pcp.spec @@ -1,64 +1,198 @@ %ifarch aarch64 %global disable_bcc 1 %global _with_bcc --with-pmdabcc=no +%global disable_mssql 1 %else %global disable_bcc 0 %global _with_bcc --with-pmdabcc=yes +%global disable_mssql 0 %endif - +%global disable_dstat 0 %global __python3 python +%global _confdir %{_sysconfdir}/pcp +%global _logsdir %{_localstatedir}/log/pcp +%global _pmnsdir %{_localstatedir}/lib/pcp/pmns +%global _pmnsexecdir %{_libexecdir}/pcp/pmns +%global _tempsdir %{_localstatedir}/lib/pcp/tmp +%global _pmdasdir %{_localstatedir}/lib/pcp/pmdas +%global _pmdasexecdir %{_libexecdir}/pcp/pmdas +%global _testsdir %{_localstatedir}/lib/pcp/testsuite +%global _selinuxdir %{_localstatedir}/lib/pcp/selinux +%global _selinuxexecdir %{_libexecdir}/pcp/selinux +%global _logconfdir %{_localstatedir}/lib/pcp/config/pmlogconf +%global _ieconfdir %{_localstatedir}/lib/pcp/config/pmieconf +%global _tapsetdir %{_datadir}/systemtap/tapset +%global _bashcompdir %{_datadir}/bash-completion/completions +%global _pixmapdir %{_datadir}/pcp-gui/pixmaps +%global _hicolordir %{_datadir}/icons/hicolor +%global _booksdir %{_datadir}/doc/pcp-doc + +%global _with_doc --with-docdir=%{_docdir}/%{name} + +%global _with_dstat --with-dstat-symlink=yes + +%global _initddir %{_libexecdir}/pcp/lib + +%global _with_ib --with-infiniband=yes + +%global _with_perfevent --with-perfevent=yes + +%global _with_podman --with-podman=yes + +%global _with_bpf --with-pmdabpf=yes + +%global _with_bpftrace --with-pmdabpftrace=yes + +%global _with_json --with-pmdajson=yes + +%global _with_nutcracker --with-pmdanutcracker=yes + +%global _with_snmp --with-pmdasnmp=yes + Name: pcp -Version: 4.1.3 +Version: 5.3.5 Summary: System-level performance monitoring and performance management -Release: 17 -License: GPLv2+ and LGPLv2.1+ and CC-BY +Release: 1 +License: GPL-2.0-or-later and LGPL-2.0-or-later and CC-BY-SA-3.0 URL: https://pcp.io -Source0: https://dl.bintray.com/pcp/source/pcp-4.1.3.tar.gz -Source1: https://github.com/performancecopilot/pcp-webapp-vector/archive/1.3.1-1/pcp-webapp-vector-1.3.1-1.tar.gz -Source2: https://github.com/performancecopilot/pcp-webapp-grafana/archive/1.9.1-2/pcp-webapp-grafana-1.9.1-2.tar.gz -Source3: https://github.com/performancecopilot/pcp-webapp-graphite/archive/0.9.10/pcp-webapp-graphite-0.9.10.tar.gz -Source4: https://github.com/performancecopilot/pcp-webapp-blinkenlights/archive/1.0.1/pcp-webapp-blinkenlights-1.0.1.tar.gz -Patch0000: 0000-Fix-some-options-and-syntax-errors.patch -Patch0001: 0001-Fix-collectl2pcp-option.patch -Patch6000: CVE-2019-3695-CVE-2019-3696.patch -Patch9000: 9000-fix-new-function-not-found-when-Install.patch -Patch9001: 0002-fix-some-pcp-pidstat-bugs.patch -Patch9002: 0003-fix-pcp-pidstat-bug.patch -Patch9003: 0004-modify-python2-to-python3.patch -Patch9004: Fix-pcp-gcc10.patch -Patch9005: Add-pcp_domain-selinux-policy.patch - -BuildRequires: gcc gcc-c++ procps autoconf bison flex nss-devel rpm-devel avahi-devel xz-devel zlib-devel -BuildRequires: python3-devel ncurses-devel readline-devel cyrus-sasl-devel papi-devel libpfm-devel >= 4 -BuildRequires: libmicrohttpd-devel cairo-devel systemtap-sdt-devel boost-devel perl-generators perl-devel perl(strict) -BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent) perl(JSON) perl(LWP::UserAgent) perl(Time::HiRes) perl(Digest::MD5) -BuildRequires: man systemd-devel desktop-file-utils qt5-qtbase-devel qt5-qtsvg-devel -Requires: bash bc bzip2 gawk gcc sed grep findutils which pcp-selinux = %{version}-%{release} -Requires: pcp-conf = %{version}-%{release} -Provides: pcp-pmda-kvm pcp-libs = %{version}-%{release} -Obsoletes: pcp-pmda-kvm pcp-libs < %{version}-%{release} -Obsoletes: pcp-pmda-nvidia pcp-compat -Conflicts: librapi +Source0: https://github.com/performancecopilot/pcp/archive/refs/tags/5.3.5.tar.gz +BuildRequires: make +BuildRequires: gcc gcc-c++ +BuildRequires: procps autoconf bison flex +BuildRequires: nss-devel +BuildRequires: avahi-devel +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: ncurses-devel +BuildRequires: readline-devel +BuildRequires: cyrus-sasl-devel +BuildRequires: libpfm-devel >= 4 +BuildRequires: systemtap-sdt-devel +BuildRequires: libuv-devel >= 1.0 +BuildRequires: openssl-devel >= 1.1.1 +BuildRequires: perl-generators +BuildRequires: perl-devel perl(strict) +BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent) perl(JSON) +BuildRequires: perl(Time::HiRes) perl(Digest::MD5) +BuildRequires: perl(XML::LibXML) perl(File::Slurp) +BuildRequires: man hostname +BuildRequires: systemd-devel +BuildRequires: desktop-file-utils +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtsvg-devel + +Requires: bash xz gawk sed grep findutils which hostname +Requires: pcp-libs = %{version}-%{release} +Requires: pcp-conf = %{version}-%{release} +Requires: pcp-selinux = %{version}-%{release} + +Provides: pcp-libs = %{version}-%{release} +Provides: pcp-pmda-kvm = %{version}-%{release} +Provides: pcp-webapi = %{version}-%{release} + +Conflicts: librapi < 0.16 + +Obsoletes: pcp-pmda-kvm < %{version}-%{release} +Obsoletes: pcp-libs < %{version}-%{release} +Obsoletes: pcp-pmda-rpm < 5.3.2 +Obsoletes: pcp-pmda-rpm-debuginfo < 5.3.2 +Obsoletes: pcp-webapi-debuginfo < 5.0.0 +Obsoletes: pcp-webapi < 5.0.0 +Obsoletes: pcp-manager-debuginfo < 5.2.0 +Obsoletes: pcp-manager < 5.2.0 +Obsoletes: pcp-compat +Obsoletes: pcp-monitor < 4.2.0 +Obsoletes: pcp-collector < 4.2.0 +Obsoletes: pcp-pmda-nvidia + +%global pmda_remove() %{expand: +if [ %1 -eq 0 ] +then + PCP_PMDAS_DIR=%{_pmdasdir} + PCP_PMCDCONF_PATH=%{_confdir}/pmcd/pmcd.conf + if [ -f "$PCP_PMCDCONF_PATH" -a -f "$PCP_PMDAS_DIR/%2/domain.h" ] + then + (cd "$PCP_PMDAS_DIR/%2/" && ./Remove >/dev/null 2>&1) + fi +fi +} + +%global install_file() %{expand: +if [ -w "%1" ] +then + (cd "%1" && touch "%2" && chmod 644 "%2") +else + echo "WARNING: Cannot write to %1, skipping %2 creation." >&2 +fi +} + +%global rebuild_pmns() %{expand: +if [ -w "%1" ] +then + (cd "%1" && ./Rebuild -s && rm -f "%2") +else + echo "WARNING: Cannot write to %1, skipping namespace rebuild." >&2 +fi +} + +%global selinux_handle_policy() %{expand: +if [ %1 -ge 1 ] +then + %{_libexecdir}/pcp/bin/selinux-setup %{_selinuxdir} install %2 +elif [ %1 -eq 0 ] +then + %{_libexecdir}/pcp/bin/selinux-setup %{_selinuxdir} remove %2 +fi +} + %description -PCP provides a range of services that may be used to monitor and manage system performance. -These services are distributed and scalable to accommodate the most complex system configurations and performance problems. +Performance Co-Pilot (PCP) provides a framework and services to support +system-level performance monitoring and performance management. + +The PCP open source release provides a unifying abstraction for all of +the interesting performance data in a system, and allows client +applications to easily retrieve and process any subset of that data. %package conf -Summary: PCP run-time configuration -License: LGPLv2.1+ +Summary: Performance Co-Pilot run-time configuration +License: LGPLv2+ Conflicts: pcp-libs < 3.9 %description conf -PCP run-time configuration files +Performance Co-Pilot (PCP) run-time configuration %package devel -Summary: PCP development tools -License: GPLv2+ and LGPLv2.1+ +Summary: Performance Co-Pilot (PCP) development tools and documentation +License: GPLv2+ and LGPLv2+ Requires: pcp = %{version}-%{release} Provides: pcp-libs-devel = %{version}-%{release} pcp-testsuite = %{version}-%{release} Obsoletes: pcp-libs-devel < %{version}-%{release} pcp-testsuite < %{version}-%{release} pcp-gui-testsuite +Requires: pcp-pmda-activemq pcp-pmda-bonding pcp-pmda-dbping pcp-pmda-ds389 pcp-pmda-ds389log +Requires: pcp-pmda-elasticsearch pcp-pmda-gpfs pcp-pmda-gpsd pcp-pmda-lustre +Requires: pcp-pmda-memcache pcp-pmda-mysql pcp-pmda-named pcp-pmda-netfilter pcp-pmda-news +Requires: pcp-pmda-nginx pcp-pmda-nfsclient pcp-pmda-pdns pcp-pmda-postfix pcp-pmda-postgresql +Requires: pcp-pmda-samba pcp-pmda-slurm pcp-pmda-zimbra pcp-pmda-dm pcp-pmda-apache +Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-gfs2 pcp-pmda-mailq pcp-pmda-mounts +Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping pcp-pmda-smart +Requires: pcp-pmda-hacluster pcp-pmda-lustrecomm pcp-pmda-logger pcp-pmda-denki pcp-pmda-docker +Requires: pcp-pmda-sockets pcp-pmda-podman pcp-pmda-nutcracker pcp-pmda-bpf pcp-pmda-bpftrace +Requires: pcp-pmda-gluster pcp-pmda-zswap pcp-pmda-unbound pcp-pmda-mic +Requires: pcp-pmda-libvirt pcp-pmda-lio pcp-pmda-openmetrics pcp-pmda-haproxy +Requires: pcp-pmda-lmsensors pcp-pmda-netcheck pcp-pmda-rabbitmq pcp-pmda-oracle +Requires: pcp-pmda-openvswitch pcp-pmda-mongodb pcp-pmda-snmp pcp-pmda-bind2 +Requires: pcp-pmda-json pcp-pmda-summary pcp-pmda-trace pcp-pmda-weblog +Requires: pcp-system-tools pcp-gui openEuler-rpm-config bc gcc gzip bzip2 +Requires: selinux-policy-devel selinux-policy-targeted setools-console +%if !%{disable_bcc} +Requires: pcp-pmda-bcc +%endif +%if !%{disable_mssql} +Requires: pcp-pmda-mssql +%endif %description devel -PCP tools for development that contains headers, test and libs abort PCP. +Performance Co-Pilot (PCP) documentation and tools for development. %package help Summary: Documents for %{name} @@ -69,153 +203,92 @@ Obsoletes: pcp-doc < %{version}-%{release} %description help Man pages and other related documents for %{name}. - -%package manager -Summary: PCP manager daemon -License: GPLv2+ -Requires: pcp = %{version}-%{release} -%description manager -PCP optional daemon manages a set of pmlogger and pmie daemons. - -%package webapi -Summary: Web API service for PCP -License: GPLv2+ -Requires: pcp = %{version}-%{release} liberation-sans-fonts -%description webapi -This package provides a daemon (pmwebd) that uses the HTTP (PMWEBAPI) protocol to bind a larger subset of -the Performance Co-Pilot Client API (PMAPI) to a RESTful web application. - -%package webjs -Summary: PCP web applications -License: ASL 2.0 and MIT and CC-BY and GPLv3 -Conflicts: pcp-webjs < 3.11.9 -BuildArch: noarch -Requires: pcp-webapp-vector pcp-webapp-blinkenlights pcp-webapp-graphite pcp-webapp-grafana - -%description webjs -Javascript web application content for the PCP web service. - -%package webapp-vector -Summary: PCP's Vector Web Application -License: ASL 2.0 -BuildArch: noarch -URL: https://github.com/Netflix/vector -%description webapp-vector -PCP's Vector Web Application - -%package webapp-grafana -Summary: Grafana web application for PCP -License: ASL 2.0 -URL: https://grafana.org -Conflicts: pcp-webjs < 3.10.4 -BuildArch: noarch -%description webapp-grafana -Grafana is an open source, feature-rich indicator dashboard and graphical editor. The package -provides a Grafana, which uses Performance Co-Pilot as a data repository. No other Grafana backends -are used.Grafana can render time series dashboards in the browser via float.js (interactive, slower, -for powerful browsers), or via png on the server (less interactive, faster). - -%package webapp-graphite -Summary: Graphite web application for PCP -License: ASL 2.0 and GPLv3 -URL: http://graphite.readthedocs.org -Conflicts: pcp-webjs < 3.10.4 -BuildArch: noarch - -%description webapp-graphite -Graphite is a highly scalable real-time graphics system. The package provides a graphite version -that uses PCP as its data repository and presents it in the Graphites Web interface. Carbon and -whispering subsystems that do not include or use graphite. - -%package webapp-blinkenlights -License: ASL 2.0 -Summary: This is the blinking light web application for PCP -BuildArch: noarch -%description webapp-blinkenlights -Demonstrate a web application that displays traffic lights that can change color based on regular -evaluation of performance indicator expressions. - %package -n perl-PCP-PMDA -Summary: PCP Perl bindings and documentation +Summary: Performance Co-Pilot (PCP) Perl bindings and documentation License: GPLv2+ Requires: pcp = %{version}-%{release} perl-interpreter %description -n perl-PCP-PMDA -The PCP::PMDA Perl module contains the language bindings that can be used to build -Performance Metric Domain Agents (PMDA) using Perl. -Each PMDA exports performance data for a specific domain, such as the operating system -kernel, databases,applications,Cisco routers etc. +The PCP::PMDA Perl module contains the language bindings for +building Performance Metric Domain Agents (PMDAs) using Perl. +Each PMDA exports performance data for one specific domain, for +example the operating system kernel, Cisco routers, a database, +an application, etc. %package -n perl-PCP-MMV -Summary: PCP Perl bindings for PCP Memory Mapped Values +Summary: Performance Co-Pilot (PCP) Perl bindings for PCP Memory Mapped Values License: GPLv2+ Requires: pcp = %{version}-%{release} perl-interpreter %description -n perl-PCP-MMV -The PCP :: MMV module contains Perl language bindings that can be used to build scripts that are -detected using the PCP memory mapped value (MMV) mechanism.This mechanism can export arbitrary -values from the detection script to the PCP infrastructure, making it easy to monitor and analyze -using pmchart, pmie, pmlogger and other PCP tools. +The PCP::MMV module contains the Perl language bindings for +building scripts instrumented with the Performance Co-Pilot +(PCP) Memory Mapped Value (MMV) mechanism. +This mechanism allows arbitrary values to be exported from an +instrumented script into the PCP infrastructure for monitoring +and analysis with pmchart, pmie, pmlogger and other PCP tools. %package -n perl-PCP-LogImport -Summary: PCP Perl bindings for importing external archive data into PCP archives +Summary: Performance Co-Pilot (PCP) Perl bindings for importing external data into PCP archives License: GPLv2+ Requires: pcp = %{version}-%{release} perl-interpreter %description -n perl-PCP-LogImport -The PCP::LogImport module contains Perl language bindings, which can import data from a variety of -third-party formats into PCP archives, making it easy to replay them using standard PCP monitoring -tools. +The PCP::LogImport module contains the Perl language bindings for +importing data in various 3rd party formats into PCP archives so +they can be replayed with standard PCP monitoring tools. %package -n perl-PCP-LogSummary -Summary: PCP Perl bindings for post-processing output of pmlogsummary +Summary: Performance Co-Pilot (PCP) Perl bindings for post-processing output of pmlogsummary License: GPLv2+ Requires: pcp = %{version}-%{release} perl-interpreter %description -n perl-PCP-LogSummary -The PCP :: LogSummary module provides a Perl module that can be used to generate statistical -summary data using the PCP pmlogsummary utility.This utility generates various averages, minimums, -maximums and other calculations based on performance data stored in the PCP archive.The Perl -interface is ideal for exporting data to third-party tools such as spreadsheets. +The PCP::LogSummary module provides a Perl module for using the +statistical summary data produced by the Performance Co-Pilot +pmlogsummary utility. This utility produces various averages, +minima, maxima, and other calculations based on the performance +data stored in a PCP archive. The Perl interface is ideal for +exporting this data into third-party tools (e.g. spreadsheets). %package import-sar2pcp -Summary: PCP tools that can importing sar data into PCP archive logs +Summary: Performance Co-Pilot tools for importing sar data into PCP archive logs License: LGPLv2+ Requires: pcp = %{version}-%{release} perl-PCP-LogImport = %{version}-%{release} perl(XML::TokeParser) %description import-sar2pcp -PCP front-end tool that can import sar data into standard PCP archive logs for replay with -any PCP monitoring tool. +Performance Co-Pilot (PCP) front-end tools for importing sar data +into standard PCP archive logs for replay with any PCP monitoring tool. %package import-iostat2pcp -Summary: PCP tools that can import iostat data into PCP archive logs +Summary: Performance Co-Pilot tools for importing iostat data into PCP archive logs License: LGPLv2+ Requires: pcp = %{version}-%{release} perl-PCP-LogImport = %{version}-%{release} %description import-iostat2pcp -PCP front-end tool, which can import sar data into standard PCP archive logs, and can be replayed -with any PCP monitoring tool. +Performance Co-Pilot (PCP) front-end tools for importing iostat data +into standard PCP archive logs for replay with any PCP monitoring tool. %package import-mrtg2pcp -Summary: PCP tool that can import MTRG data into PCP archive logs +Summary: Performance Co-Pilot tools for importing MTRG data into PCP archive logs License: LGPLv2+ Requires: pcp = %{version}-%{release} perl-PCP-LogImport = %{version}-%{release} %description import-mrtg2pcp -PCP front-end tool that can import MTRG data into standard PCP archive logs, and can be replay with -any PCP monitoring tool. +Performance Co-Pilot (PCP) front-end tools for importing MTRG data +into standard PCP archive logs for replay with any PCP monitoring tool. %package import-ganglia2pcp -Summary: Import ganglion data into PCP archive log using PCP tool +Summary: Performance Co-Pilot tools for importing ganglia data into PCP archive logs License: LGPLv2+ Requires: pcp = %{version}-%{release} perl-PCP-LogImport = %{version}-%{release} %description import-ganglia2pcp -Use PCP front-end tools to import ganglion data into standard PCP archive logs, and can be replay with -any PCP monitoring tool. +Performance Co-Pilot (PCP) front-end tools for importing ganglia data +into standard PCP archive logs for replay with any PCP monitoring tool. %package import-collectl2pcp -Summary: Use PCP tools to import collected log files into PCP archive logs +Summary: Performance Co-Pilot tools for importing collectl log files into PCP archive logs License: LGPLv2+ Requires: pcp = %{version}-%{release} %description import-collectl2pcp -PCP front-end tools that can importing collectl data into standard PCP archive logs, and can be replay -with any PCP monitoring tool. +Performance Co-Pilot (PCP) front-end tools for importing collectl data +into standard PCP archive logs for replay with any PCP monitoring tool. %package export-zabbix-agent Summary: Module that can export PCP indicators to Zabbix agent @@ -223,398 +296,469 @@ License: GPLv2+ Requires: pcp = %{version}-%{release} %description export-zabbix-agent -Module that can export PCP indicators from PCP to Zabbix via the Zabbix agent -- see zbxpcp(3) for further details. +Performance Co-Pilot (PCP) module for exporting metrics from PCP to +Zabbix via the Zabbix agent - see zbxpcp(3) for further details. + +%package export-pcp2elasticsearch +Summary: Performance Co-Pilot tools for exporting PCP metrics to ElasticSearch +License: GPLv2+ +Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release} python3-requests +BuildRequires: python3-requests +%description export-pcp2elasticsearch +Performance Co-Pilot (PCP) front-end tools for exporting metric values +to Elasticsearch - a distributed, RESTful search and analytics engine. +See https://www.elastic.co/community for further details. %package export-pcp2graphite -Summary: PCP tools for exporting PCP metrics to Graphite +Summary: Performance Co-Pilot tools for exporting PCP metrics to Graphite License: GPLv2+ Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release} %description export-pcp2graphite -PCP front-end tools for exporting metric values to graphite (http://graphite.readthedocs.org). +Performance Co-Pilot (PCP) front-end tools for exporting metric values +to graphite (http://graphite.readthedocs.org). + %package export-pcp2influxdb -Summary: PCP tools for exporting PCP metrics to InfluxDB +Summary: Performance Co-Pilot tools for exporting PCP metrics to InfluxDB License: GPLv2+ Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release} python3-requests %description export-pcp2influxdb -PCP front-end tools for exporting metric values +Performance Co-Pilot (PCP) front-end tools for exporting metric values to InfluxDB (https://influxdata.com/time-series-platform/influxdb). %package export-pcp2json -Summary: Use PCP tools to export PCP indicators in JSON format +Summary: Performance Co-Pilot tools for exporting PCP metrics in JSON format License: GPLv2+ Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release} %description export-pcp2json -PCP tools for exporting PCP metrics in JSON format. +Performance Co-Pilot (PCP) front-end tools for exporting metric values +in JSON format. %package export-pcp2spark -Summary: Export PCP metrics to Apache Spark using PCP tools +Summary: Performance Co-Pilot tools for exporting PCP metrics to Apache Spark License: GPLv2+ Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release} %description export-pcp2spark -Use the PCP front-end tool to export JSON-formatted indicator values to Apache Spark. -See https://spark.apache.org/ for further details on Apache Spark. +Performance Co-Pilot (PCP) front-end tools for exporting metric values +in JSON format to Apache Spark. See https://spark.apache.org/ for +further details on Apache Spark. %package export-pcp2xml -Summary: PCP front-end tools for exporting PCP metrics in XML format +Summary: Performance Co-Pilot tools for exporting PCP metrics in XML format License: GPLv2+ Requires: pcp >= %{version}-%{release} python3-pcp = %{version}-%{release} %description export-pcp2xml -Use PCP front-end tools to export metric values in XML format. +Performance Co-Pilot (PCP) front-end tools for exporting metric values +in XML format. %package export-pcp2zabbix -Summary: PCP tool that can export PCP indicators to Zabbix +Summary: Performance Co-Pilot tools for exporting PCP metrics to Zabbix License: GPLv2+ Requires: python3-pcp = %{version}-%{release} pcp >= %{version}-%{release} %description export-pcp2zabbix -PCP front-end tools for exporting metric values to the Zabbix -(https://www.zabbix.org/) monitoring software. - -%package pmda-papi -Summary: PCP metrics for hardware counters and Performance API -License: GPLv2+ -Requires: pcp = %{version}-%{release} -BuildRequires: papi-devel +Performance Co-Pilot (PCP) front-end tools for exporting metric values +to the Zabbix (https://www.zabbix.org/) monitoring software. -%description pmda-papi -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering hardware counters statistics through PAPI (Performance API). +%package pmda-podman +Summary: Performance Co-Pilot (PCP) metrics for podman containers +License: GPLv2+ +Requires: pcp = %{version}-%{release} +%description pmda-podman +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting podman container and pod statistics via the podman REST API. %package pmda-perfevent -Summary: Hardware counters PCP metrics +Summary: Performance Co-Pilot (PCP) metrics for hardware counters License: GPLv2+ Requires: pcp = %{version}-%{release} libpfm >= 4 BuildRequires: libpfm-devel >= 4 +Obsoletes: pcp-pmda-papi < 5.0.0 %description pmda-perfevent -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering hardware counters statistics through libpfm. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting hardware counters statistics through libpfm. %package pmda-infiniband -Summary: PCP metrics for Infiniband HCAs and switches +Summary: Performance Co-Pilot (PCP) metrics for Infiniband HCAs and switches License: GPLv2+ -Requires: pcp = %{version}-%{release} rdma-core -BuildRequires: rdma-core-devel +Requires: pcp = %{version}-%{release} libibmad >= 1.3.7 libibumad >= 1.3.7 +BuildRequires: libibmad-devel >= 1.3.7 libibumad-devel >= 1.3.7 %description pmda-infiniband -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering Infiniband statistics. By default, it monitors the local HCAs +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting Infiniband statistics. By default, it monitors the local HCAs but can also be configured to monitor remote GUIDs such as IB switches. %package pmda-activemq -Summary: ActiveMQ PCP metrics +Summary: Performance Co-Pilot (PCP) metrics for ActiveMQ License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent) +Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent) pcp = %{version}-%{release} %description pmda-activemq -This package provides the PCP Performance Metrics Domain Agent-PMDA which is used for -gathering metrics about the ActiveMQ message broker. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the ActiveMQ message broker. %package pmda-bind2 -Summary: PCP metrics for BIND servers -License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent) perl(XML::LibXML) perl(File::Slurp) +License: GPLv2+ +Summary: Performance Co-Pilot (PCP) metrics for BIND servers +URL: https://pcp.io +Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl(LWP::UserAgent) +Requires: perl(XML::LibXML) +Requires: perl(File::Slurp) +Requires: perl-autodie +Requires: perl-Time-HiRes %description pmda-bind2 -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics from BIND (Berkeley Internet Name Domain). +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from BIND (Berkeley Internet Name Domain). %package pmda-redis -Summary: Redis PCP metrics +Summary: Performance Co-Pilot (PCP) metrics for Redis License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} +Requires: perl-autodie perl-Time-HiRes perl-Data-Dumper %description pmda-redis -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics from Redis servers (redis.io). +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from Redis servers (redis.io). + +%package pmda-nutcracker +Summary: Performance Co-Pilot (PCP) metrics for NutCracker (TwemCache) +License: GPLv2+ +Requires: pcp = %{version}-%{release} perl-PCP-PMDA = %{version}-%{release} perl(YAML::XS::LibYAML) perl(JSON) +%description pmda-nutcracker +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from NutCracker (TwemCache). %package pmda-bonding -Summary: PCP metrics for Bonded network interfaces +Summary: Performance Co-Pilot (PCP) metrics for Bonded network interfaces License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-bonding -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about bonded network interfaces. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about bonded network interfaces. %package pmda-dbping -Summary: PCP metrics for Database response times and Availablility +Summary: Performance Co-Pilot (PCP) metrics for Database response times and Availablility License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} perl-DBI pcp = %{version}-%{release} %description pmda-dbping -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Database response times and Availablility. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Database response times and Availablility. %package pmda-ds389 -Summary: PCP metrics for 389 Directory Servers +Summary: Performance Co-Pilot (PCP) metrics for 389 Directory Servers License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-ds389 -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about a 389 Directory Server. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about a 389 Directory Server. %package pmda-ds389log -Summary: PCP metrics for 389 Directory Server Loggers +Summary: Performance Co-Pilot (PCP) metrics for 389 Directory Server Loggers License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} perl-Date-Manip +Requires: perl-PCP-PMDA = %{version}-%{release} perl-Date-Manip pcp = %{version}-%{release} %description pmda-ds389log -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics from a 389 Directory Server log. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from a 389 Directory Server log. %package pmda-elasticsearch -Summary: PCP metrics for Elasticsearch -License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent) -BuildRequires: perl(LWP::UserAgent) +Summary: Performance Co-Pilot (PCP) metrics for Elasticsearch +License: GPLv2+ +Requires: pcp = %{version}-%{release} python3-pcp %description pmda-elasticsearch -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about Elasticsearch. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Elasticsearch. %package pmda-gpfs -Summary: PCP metrics for GPFS Filesystem +Summary: Performance Co-Pilot (PCP) metrics for GPFS Filesystem License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-gpfs -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the GPFS filesystem. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the GPFS filesystem. %package pmda-gpsd -Summary: PCP metrics for a GPS Daemon +Summary: Performance Co-Pilot (PCP) metrics for a GPS Daemon License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-gpsd -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about a GPS Daemon. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about a GPS Daemon. + +%package pmda-denki +Summary: Performance Co-Pilot (PCP) metrics dealing with electrical power +License: GPLv2+ +Requires: pcp = %{version}-%{release} +%description pmda-denki +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics related to the electrical power consumed by and inside +the system. %package pmda-docker -Summary: PCP metrics from the Docker daemon +Summary: Performance Co-Pilot (PCP) metrics from the Docker daemon License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-docker -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics using the Docker daemon REST API. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics using the Docker daemon REST API. %package pmda-lustre -Summary: PCP metrics for the Lustre Filesytem +Summary: Performance Co-Pilot (PCP) metrics for the Lustre Filesytem License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-lustre -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Lustre Filesystem. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Lustre Filesystem. %package pmda-lustrecomm -Summary: PCP metrics for the Lustre Filesytem Comms +Summary: Performance Co-Pilot (PCP) metrics for the Lustre Filesytem Comms License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-lustrecomm -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Lustre Filesystem Comms. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Lustre Filesystem Comms. %package pmda-memcache -Summary: PCP metrics for Memcached +Summary: Performance Co-Pilot (PCP) metrics for Memcached License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-memcache -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about Memcached. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Memcached. %package pmda-mysql -Summary: PCP metrics for MySQL +Summary: Performance Co-Pilot (PCP) metrics for MySQL License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} perl(DBI) perl(DBD::mysql) +Requires: perl-PCP-PMDA = %{version}-%{release} perl(DBI) perl(DBD::mysql) pcp = %{version}-%{release} BuildRequires: perl(DBI) perl(DBD::mysql) %description pmda-mysql -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the MySQL database. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the MySQL database. %package pmda-named -Summary: PCP metrics for Named +Summary: Performance Co-Pilot (PCP) metrics for Named License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-named -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Named nameserver. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Named nameserver. %package pmda-netfilter -Summary: PCP metrics for Netfilter framework +Summary: Performance Co-Pilot (PCP) metrics for Netfilter framework License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-netfilter -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Netfilter packet filtering framework. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Netfilter packet filtering framework. %package pmda-news -Summary: PCP metrics for Usenet News +Summary: Performance Co-Pilot (PCP) metrics for Usenet News License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-news -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about Usenet News. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Usenet News. %package pmda-nginx -Summary: PCP metrics for the Nginx Webserver +Summary: Performance Co-Pilot (PCP) metrics for the Nginx Webserver License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent) +Requires: perl-PCP-PMDA = %{version}-%{release} perl(LWP::UserAgent) pcp = %{version}-%{release} BuildRequires: perl(LWP::UserAgent) %description pmda-nginx -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Nginx Webserver. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Nginx Webserver. %package pmda-nfsclient -Summary: PCP metrics for NFS Clients +Summary: Performance Co-Pilot (PCP) metrics for NFS Clients License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} python3-pcp %description pmda-nfsclient -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics for NFS Clients. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics for NFS Clients. %package pmda-oracle -Summary: PCP metrics for the Oracle database +Summary: Performance Co-Pilot (PCP) metrics for the Oracle database License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} perl(DBI) +Requires: perl-PCP-PMDA = %{version}-%{release} perl(DBI) pcp = %{version}-%{release} BuildRequires: perl(DBI) %description pmda-oracle -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Oracle database. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Oracle database. %package pmda-pdns -Summary: PCP metrics for PowerDNS +Summary: Performance Co-Pilot (PCP) metrics for PowerDNS License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} perl-Time-HiRes pcp = %{version}-%{release} %description pmda-pdns -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the PowerDNS. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the PowerDNS. %package pmda-postfix -Summary: PCP metrics for the Postfix (MTA) +Summary: Performance Co-Pilot (PCP) metrics for the Postfix (MTA) License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} postfix-perl-scripts +Requires: perl-PCP-PMDA = %{version}-%{release} postfix-perl-scripts pcp = %{version}-%{release} perl-Time-HiRes BuildRequires: postfix-perl-scripts %description pmda-postfix -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Postfix (MTA). +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Postfix (MTA). %package pmda-postgresql -Summary: PCP metrics for PostgreSQL +Summary: Performance Co-Pilot (PCP) metrics for PostgreSQL License: GPLv2+ -Requires: python3-pcp python3-psycopg2 +Requires: python3-pcp python3-psycopg2 pcp = %{version}-%{release} BuildRequires: python3-psycopg2 %description pmda-postgresql -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the PostgreSQL database. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the PostgreSQL database. %package pmda-rsyslog -Summary: PCP metrics for Rsyslog +Summary: Performance Co-Pilot (PCP) metrics for Rsyslog License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-rsyslog -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about Rsyslog. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Rsyslog. %package pmda-samba -Summary: PCP metrics for Samba +Summary: Performance Co-Pilot (PCP) metrics for Samba License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-samba -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about Samba. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Samba. %package pmda-slurm -Summary: PCP metrics for the SLURM Workload Manager +Summary: Performance Co-Pilot (PCP) metrics for the SLURM Workload Manager License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-slurm -This package collects metrics from the SLURM Workload Manager. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from the SLURM Workload Manager. %package pmda-snmp -Summary: PCP Simple Network Management Protocol metrics +Summary: Performance Co-Pilot (PCP) metrics for Simple Network Management Protocol License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-snmp -This package collects metrics about SNMP. - -%package pmda-vmware -Summary: VMware PCP metrics -License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} -%description pmda-vmware -This package collects metrics for VMware. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about SNMP. %package pmda-zimbra -Summary: Zimbra PCP metrics +Summary: Performance Co-Pilot (PCP) metrics for Zimbra License: GPLv2+ -Requires: perl-PCP-PMDA = %{version}-%{release} +Requires: perl-PCP-PMDA = %{version}-%{release} pcp = %{version}-%{release} %description pmda-zimbra -This package collects metrics about Zimbra. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Zimbra. %package pmda-dm -Summary: PCP metrics for the Device Mapper Cache and Thin Client +Summary: Performance Co-Pilot (PCP) metrics for the Device Mapper Cache and Thin Client License: GPLv2+ Requires: pcp = %{version}-%{release} +BuildRequires: device-mapper-devel %description pmda-dm -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Device Mapper Cache and Thin Client. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Device Mapper Cache and Thin Client. %if !%{disable_bcc} %package pmda-bcc -Summary: Performance Co-Pilot (PCP) metrics from eBPF/BCC modules +Summary: Performance Co-Pilot (PCP) metrics from eBPF/BCC modul License: ASL 2.0 and GPLv2+ -Requires: python3-bpfcc python3-pcp +Requires: python3-bpfcc python3-pcp pcp = %{version}-%{release} %description pmda-bcc -This package collects metrics about eBPF/BCC Python modules. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +extracting performance metrics from eBPF/BCC Python modules. %endif +%package pmda-bpf +Summary: Performance Co-Pilot (PCP) metrics from eBPF ELF modules +License: ASL 2.0 and GPLv2+ +Requires: pcp = %{version}-%{release} libbpf +BuildRequires: libbpf-devel clang llvm bpftool +%description pmda-bpf +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +extracting performance metrics from eBPF ELF modules. + +%package pmda-bpftrace +Summary: Performance Co-Pilot (PCP) metrics from bpftrace scripts +License: ASL 2.0 and GPLv2+ +Requires: pcp = %{version}-%{release} bpftrace >= 0.9.2 python3-pcp python3 >= 3.6 +%description pmda-bpftrace +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +extracting performance metrics from bpftrace scripts. + %package pmda-gluster -Summary: PCP metrics for the Gluster filesystem +Summary: Performance Co-Pilot (PCP) metrics for the Gluster filesystem License: GPLv2+ -Requires: python3-pcp +Requires: python3-pcp pcp = %{version}-%{release} %description pmda-gluster -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the gluster filesystem. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the gluster filesystem. %package pmda-zswap -Summary: compressed swap PCP metrics +Summary: Performance Co-Pilot (PCP) metrics for compressed swap License: GPLv2+ -Requires: python3-pcp +Requires: python3-pcp pcp = %{version}-%{release} %description pmda-zswap -This package collects metrics about compressed swap. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about compressed swap. %package pmda-unbound -Summary: Unbound DNS Resolver PCP metrics +Summary: Performance Co-Pilot (PCP) metrics for the Unbound DNS Resolver License: GPLv2+ -Requires: python3-pcp +Requires: python3-pcp pcp = %{version}-%{release} %description pmda-unbound -This package collects metrics about the Unbound DNS Resolver. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Unbound DNS Resolver. %package pmda-mic -Summary: PCP metrics for Intel MIC cards +Summary: Performance Co-Pilot (PCP) metrics for Intel MIC cards License: GPLv2+ -Requires: python3-pcp +Requires: python3-pcp pcp = %{version}-%{release} %description pmda-mic -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about Intel MIC cards. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Intel MIC cards. %package pmda-haproxy -Summary: PCP metrics for HAProxy +Summary: Performance Co-Pilot (PCP) metrics for HAProxy License: GPLv2+ -Requires: python3-pcp +Requires: python3-pcp pcp = %{version}-%{release} %description pmda-haproxy -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for +This package contains the PCP Performance Metrics Domain Agent (PMDA) for extracting performance metrics from HAProxy over the HAProxy stats socket. %package pmda-libvirt -Summary: PCP metrics for virtual machines +Summary: Performance Co-Pilot (PCP) metrics from virtual machines License: GPLv2+ Requires: python3-pcp libvirt-python3 python3-lxml BuildRequires: libvirt-python3 python3-lxml %description pmda-libvirt -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for +This package contains the PCP Performance Metrics Domain Agent (PMDA) for extracting virtualisation statistics from libvirt about behaviour of guest and hypervisor machines. +%package pmda-openvswitch +Summary: Performance Co-Pilot (PCP) metrics for Open vSwitch +License: GPLv2+ +Requires: pcp = %{version}-%{release} python3-pcp +%description pmda-openvswitch +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from Open vSwitch. + +%package pmda-rabbitmq +Summary: Performance Co-Pilot (PCP) metrics for RabbitMQ queues +License: GPLv2+ +Requires: pcp = %{version}-%{release} python3-pcp +%description pmda-rabbitmq +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about RabbitMQ message queues. + %package pmda-lio -Summary: PCP metrics for the LIO subsystem +Summary: Performance Co-Pilot (PCP) metrics for the LIO subsystem License: GPLv2+ -Requires: python3-pcp python3-rtslib +Requires: python3-pcp python3-rtslib pcp = %{version}-%{release} BuildRequires: python3-rtslib %description pmda-lio This package provides a PMDA to gather performance metrics from the kernels @@ -623,206 +767,229 @@ kernels configfs filesystem. The PMDA provides per LUN level stats, and a summary instance per iSCSI target, which aggregates all LUN metrics within the target. -%package pmda-prometheus -Summary: PCP metrics from Prometheus endpoints -License: GPLv2+ -Requires: pcp = %{version}-%{release} python3-pcp python3-requests -BuildRequires: python3-requests -%description pmda-prometheus -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -extracting statistics from programs instrumented as Prometheus endpoints. +%package pmda-openmetrics +Summary: Performance Co-Pilot (PCP) metrics from OpenMetrics endpoints +License: GPLv2+ +Requires: pcp = %{version}-%{release} python3-pcp python3-requests +BuildRequires: python3-requests +Obsoletes: pcp-pmda-prometheus < 5.0.0 pcp-pmda-vmware < 5.3.5 +Provides: pcp-pmda-prometheus < 5.0.0 +%description pmda-openmetrics +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +extracting metrics from OpenMetrics (https://openmetrics.io/) endpoints. + +%package pmda-netcheck +Summary: Performance Co-Pilot (PCP) metrics for simple network checks +License: GPLv2+ +Requires: pcp = %{version}-%{release} python3-pcp +%description pmda-netcheck +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from simple network checks. + +%package pmda-mongodb +Summary: Performance Co-Pilot (PCP) metrics for MongoDB +License: GPLv2+ +Requires: pcp = %{version}-%{release} python3-pcp +%description pmda-mongodb +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from MongoDB. + +%if !%{disable_mssql} +%package pmda-mssql +License: GPLv2+ +Summary: Performance Co-Pilot (PCP) metrics for Microsoft SQL Server +URL: https://pcp.io +Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release} +Requires: python3-pcp +%description pmda-mssql +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from Microsoft SQL Server. +%endif %package pmda-json -Summary: PCP metrics for JSON data +Summary: Performance Co-Pilot (PCP) metrics for JSON data License: GPLv2+ Requires: python3-pcp python3-jsonpointer python3-six BuildRequires: python3-jsonpointer python3-six %description pmda-json -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics output in JSON. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics output in JSON. %package pmda-apache -Summary: PCP metrics for the Apache webserver +Summary: Performance Co-Pilot (PCP) metrics for the Apache webserver License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-apache -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Apache webserver. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Apache webserver. %package pmda-bash -Summary: PCP metrics for the Bash shell +Summary: Performance Co-Pilot (PCP) metrics for the Bash shell License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-bash -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Bash shell. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Bash shell. %package pmda-cifs -Summary: PCP metrics for the CIFS protocol +Summary: Performance Co-Pilot (PCP) metrics for the CIFS protocol License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-cifs -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Common Internet Filesytem. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Common Internet Filesytem. %package pmda-cisco -Summary: PCP metrics for Cisco routers +Summary: Performance Co-Pilot (PCP) metrics for Cisco routers License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-cisco -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about Cisco routers. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Cisco routers. %package pmda-gfs2 -Summary: PCP metrics for the GFS2 filesystem +Summary: Performance Co-Pilot (PCP) metrics for the GFS2 filesystem License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-gfs2 -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Global Filesystem v2. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Global Filesystem v2. %package pmda-lmsensors -Summary: PCP metrics for hardware sensors +Summary: Performance Co-Pilot (PCP) metrics for hardware sensors License: GPLv2+ -Requires: pcp = %{version}-%{release} +Requires: pcp = %{version}-%{release} python3-pcp lm_sensors %description pmda-lmsensors -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the Linux hardware monitoring sensors. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the Linux hardware monitoring sensors. %package pmda-logger -Summary: PCP metrics from arbitrary log files +Summary: Performance Co-Pilot (PCP) metrics from arbitrary log files License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-logger -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics from a specified set of log files (or pipes). The PMDA +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from a specified set of log files (or pipes). The PMDA supports both sampled and event-style metrics. %package pmda-mailq -Summary: PCP metrics for the sendmail queue +Summary: Performance Co-Pilot (PCP) metrics for the sendmail queue License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-mailq -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about email queues managed by sendmail. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about email queues managed by sendmail. %package pmda-mounts -Summary: PCP metrics for filesystem mounts +Summary: Performance Co-Pilot (PCP) metrics for filesystem mounts License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-mounts -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about filesystem mounts. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about filesystem mounts. %package pmda-nvidia-gpu -Summary: PCP metrics for the Nvidia GPU +Summary: Performance Co-Pilot (PCP) metrics for the Nvidia GPU License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-nvidia-gpu -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about Nvidia GPUs. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Nvidia GPUs. %package pmda-roomtemp -Summary: PCP metrics for the room temperature +Summary: Performance Co-Pilot (PCP) metrics for the room temperature License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-roomtemp -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the room temperature. - -%package pmda-rpm -Summary: PCP metrics for the RPM package manager -License: GPLv2+ -Requires: pcp = %{version}-%{release} -%description pmda-rpm -This package provides the PCP Performance Metrics Domain Agent -- PMDA which is used for -gathering metrics about the installed RPM packages. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about the room temperature. %package pmda-sendmail -Summary: PCP Sendmail metrics +Summary: Performance Co-Pilot (PCP) metrics for Sendmail License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-sendmail -This package collects metrics about Sendmail traffic. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about Sendmail traffic. %package pmda-shping -Summary: PCP shell command responses metrics +Summary: Performance Co-Pilot (PCP) metrics for shell command responses License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-shping -This package collects metrics about response time of shell commands. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about quality of service and response time measurements of +arbitrary shell commands. %package pmda-smart -Summary: PCP metrics for S.M.A.R.T values +Summary: Performance Co-Pilot (PCP) metrics for S.M.A.R.T values License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-smart -This package collects metrics of disk S.M.A.R.T values. +This package contains the PCP Performance Metric Domain Agent (PMDA) for +collecting metrics of disk S.M.A.R.T values making use of data from the +smartmontools package. + +%package pmda-sockets +Summary: Performance Co-Pilot (PCP) per-socket metrics +License: GPLv2+ +Requires: pcp = %{version}-%{release} +Requires: iproute +%description pmda-sockets +This package contains the PCP Performance Metric Domain Agent (PMDA) for +collecting per-socket statistics, making use of utilities such as 'ss'. + +%package pmda-hacluster +Summary: Performance Co-Pilot (PCP) metrics for High Availability Clusters +License: GPLv2+ +Requires: pcp = %{version}-%{release} +%description pmda-hacluster +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about linux High Availability (HA) Clusters. %package pmda-summary -Summary: PCP summary metrics from pmie +Summary: Performance Co-Pilot (PCP) summary metrics from pmie License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-summary -This package collects metrics about other installed pmdas. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about other installed PMDAs. %package pmda-systemd -Summary: PCP metrics from the Systemd journal +Summary: Performance Co-Pilot (PCP) metrics from the Systemd journal License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-systemd -This package collects metrics from the Systemd journal. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics from the Systemd journal. %package pmda-trace -Summary: application tracing PCP metrics +Summary: Performance Co-Pilot (PCP) metrics for application tracing License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-trace -This package collects metrics about trace performance data in applications. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about trace performance data in applications. %package pmda-weblog -Summary: web server logs PCP metrics +Summary: Performance Co-Pilot (PCP) metrics from web server logs License: GPLv2+ Requires: pcp = %{version}-%{release} %description pmda-weblog -This package collects metrics about web server logs. - -%package collector -Summary: PCP Collection meta Package -License: GPLv2+ -Requires: pcp-pmda-activemq pcp-pmda-bonding pcp-pmda-dbping pcp-pmda-ds389 pcp-pmda-ds389log -Requires: pcp-pmda-elasticsearch pcp-pmda-gpfs pcp-pmda-gpsd pcp-pmda-lustre -Requires: pcp-pmda-memcache pcp-pmda-mysql pcp-pmda-named pcp-pmda-netfilter pcp-pmda-news -Requires: pcp-pmda-nginx pcp-pmda-nfsclient pcp-pmda-pdns pcp-pmda-postfix pcp-pmda-postgresql pcp-pmda-oracle -Requires: pcp-pmda-samba pcp-pmda-slurm pcp-pmda-vmware pcp-pmda-zimbra pcp-pmda-dm pcp-pmda-apache -Requires: pcp-pmda-bash pcp-pmda-cisco pcp-pmda-gfs2 pcp-pmda-lmsensors pcp-pmda-mailq pcp-pmda-mounts -Requires: pcp-pmda-nvidia-gpu pcp-pmda-roomtemp pcp-pmda-sendmail pcp-pmda-shping pcp-pmda-smart -Requires: pcp-pmda-lustrecomm pcp-pmda-logger pcp-pmda-docker pcp-pmda-bind2 pcp-pmda-gluster pcp-pmda-zswap -Requires: pcp-pmda-libvirt pcp-pmda-lio pcp-pmda-prometheus pcp-pmda-haproxy pcp-pmda-snmp pcp-pmda-json -Requires: pcp-pmda-rpm pcp-pmda-summary pcp-pmda-trace pcp-pmda-weblog pcp-pmda-unbound pcp-pmda-mic -%if !%{disable_bcc} -Requires: pcp-pmda-bcc -%endif -%description collector -This package will install the PCP metric collection dependencies used to collect PCP metrics. - -%package monitor -Summary: PCP Monitoring meta Package -License: GPLv2+ -Requires: pcp-webapi pcp-system-tools pcp-gui -%description monitor -This meta-package contains the PCP performance monitoring dependencies. This -includes a large number of packages for analysing PCP metrics in various ways. +This package contains the PCP Performance Metrics Domain Agent (PMDA) for +collecting metrics about web server logs. %package zeroconf -Summary: PCP Zeroconf Package +Summary: Performance Co-Pilot (PCP) Zeroconf Package License: GPLv2+ -Requires: pcp pcp-doc pcp-system-tools pcp-pmda-dm pcp-pmda-nfsclient +Requires: pcp pcp-doc pcp-system-tools pcp-pmda-dm pcp-pmda-nfsclient pcp-pmda-openmetrics %description zeroconf -This package installs configuration files to tweak indexes for PCP metrics. +This package contains configuration tweaks and files to increase metrics +gathering frequency, several extended pmlogger configurations, as well as +automated pmie diagnosis, alerting and self-healing for the localhost. %package -n python3-pcp -Summary: PCP Python3 bindings and documentation +Summary: Performance Co-Pilot (PCP) Python3 bindings and documentation License: GPLv2+ Requires: pcp = %{version}-%{release} python3 %description -n python3-pcp @@ -830,1368 +997,920 @@ This package contains language bindings for the Performance Metric API (PMAPI) m tool and Performance Metric Domain Agent (PMDA) collector tool written in Python3. %package system-tools -Summary: PCP System and Monitoring Tools +Summary: Performance Co-Pilot (PCP) System and Monitoring Tools License: GPLv2+ Requires: python3-pcp = %{version}-%{release} pcp = %{version}-%{release} -Obsoletes: dstat -Provides: /usr/bin/dstat +Requires: pcp-zeroconf = %{version}-%{release} +Provides: /usr/bin/dstat dstat = %{version}-%{release} %description system-tools -This package contains some Python system monitoring tools. +This PCP module contains additional system monitoring tools written +in the Python language. %package gui -Summary: PCP toolkit visual tools +Summary: Visualization tools for the Performance Co-Pilot toolkit License: GPLv2+ and LGPLv2+ and LGPLv2+ with exceptions BuildRequires: hicolor-icon-theme Requires: pcp = %{version}-%{release} liberation-sans-fonts %description gui -Visualization tools for the PCP toolkit. +Visualization tools for the Performance Co-Pilot toolkit. +The pcp-gui package primarily includes visualization tools for +monitoring systems using live and archived Performance Co-Pilot +(PCP) sources. %package selinux Summary: PCP selinux policy License: GPLv2+ and CC-BY BuildRequires: selinux-policy-devel selinux-policy-targeted setools-console -Requires: policycoreutils +Requires: policycoreutils selinux-policy-targeted %description selinux -This package installs selinux support files for PCP. +This package contains SELinux support for PCP. The package contains +interface rules, type enforcement and file context adjustments for an +updated policy package. %prep -%setup -q -T -D -a 1 -c -n vector -%setup -q -T -D -a 2 -c -n grafana -%setup -q -T -D -a 3 -c -n graphite -%setup -q -T -D -a 4 -c -n blinkenlights -%setup -q -%patch0000 -p1 -%patch0001 -p1 -%patch6000 -p1 -%patch9000 -p1 -%patch9001 -p1 -%patch9002 -p1 -%patch9003 -p1 -%patch9004 -p1 -%patch9005 -p1 +%autosetup -p1 + %build +%global __strip %{_builddir}/%{?buildsubdir}/build/rpm/custom-strip -%configure --with-docdir=/usr/share/doc/pcp \ ---with-dstat-symlink=yes \ ---with-infiniband=yes \ ---with-papi=yes \ ---with-perfevent=yes \ -%{?_with_bcc} \ ---with-pmdajson=yes \ ---with-pmdasnmp=yes \ ---with-pmdanutcracker=no \ ---with-webapps=yes -sed -i 's/make/make -j1/' src/selinux/GNUmakefile +_build=`echo %{release} | sed -e 's/\..*$//'` +sed -i "/PACKAGE_BUILD/s/=[0-9]*/=$_build/" VERSION.pcp -%make_build default_pcp +%configure %{?_with_initd} %{?_with_doc} %{?_with_dstat} %{?_with_ib} %{?_with_podman} %{?_with_perfevent} %{?_with_bcc} %{?_with_bpf} %{?_with_bpftrace} %{?_with_json} %{?_with_snmp} %{?_with_nutcracker} +make %{?_smp_mflags} default_pcp %install -export NO_CHOWN=true DIST_ROOT=$RPM_BUILD_ROOT + +rm -Rf $RPM_BUILD_ROOT +BACKDIR=`pwd` +NO_CHOWN=true +DIST_ROOT=$RPM_BUILD_ROOT +DIST_TMPFILES=$BACKDIR/install.tmpfiles +DIST_MANIFEST=$BACKDIR/install.manifest +export NO_CHOWN DIST_ROOT DIST_MANIFEST DIST_TMPFILES +rm -f $DIST_MANIFEST $DIST_TMPFILES make install_pcp -PCP_GUI='pmchart|pmconfirm|pmdumptext|pmmessage|pmquery|pmsnap|pmtime' -rm -f $RPM_BUILD_ROOT/usr/lib64/*.a -rm -f $RPM_BUILD_ROOT/usr/bin/sheet2pcp $RPM_BUILD_ROOT/usr/share/man/man1/sheet2pcp.1* -rm -f $RPM_BUILD_ROOT/usr/include/pcp/configsz.h -rm -f $RPM_BUILD_ROOT/usr/include/pcp/platformsz.h -for app in vector grafana graphite blinkenlights; do - webapp=`find ../$app -mindepth 1 -maxdepth 1` - cp -r -f $webapp $RPM_BUILD_ROOT/usr/share/pcp/webapps/$app -done -rm -rf $RPM_BUILD_ROOT/usr/share/doc/pcp-gui -desktop-file-validate $RPM_BUILD_ROOT/usr/share/applications/pmchart.desktop -for f in $RPM_BUILD_ROOT/usr/share/pcp/lib/{pcp,pmcd,pmlogger,pmie,pmwebd,pmmgr,pmproxy}; do + +rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a +sed -i -e '/\.a$/d' $DIST_MANIFEST + +rm -f $RPM_BUILD_ROOT/%{_bindir}/sheet2pcp $RPM_BUILD_ROOT/%{_mandir}/man1/sheet2pcp.1* +sed -i -e '/sheet2pcp/d' $DIST_MANIFEST + +rm -f $RPM_BUILD_ROOT/%{_includedir}/pcp/configsz.h +sed -i -e '/configsz.h/d' $DIST_MANIFEST +rm -f $RPM_BUILD_ROOT/%{_includedir}/pcp/platformsz.h +sed -i -e '/platformsz.h/d' $DIST_MANIFEST + +%if %{disable_mssql} +rm -fr $RPM_BUILD_ROOT/%{_confdir}/mssql +rm -fr $RPM_BUILD_ROOT/%{_confdir}/pmieconf/mssql +rm -fr $RPM_BUILD_ROOT/%{_ieconfdir}/mssql +rm -fr $RPM_BUILD_ROOT/%{_pmdasdir}/mssql +rm -fr $RPM_BUILD_ROOT/%{_pmdasexecdir}/mssql +%endif + +desktop-file-validate $RPM_BUILD_ROOT/%{_datadir}/applications/pmchart.desktop + +for f in $RPM_BUILD_ROOT/%{_initddir}/{pcp,pmcd,pmlogger,pmie,pmproxy}; do test -f "$f" || continue sed -i -e '/^# chkconfig/s/:.*$/: - 95 05/' -e '/^# Default-Start:/s/:.*$/:/' $f done -if [ "$1" -eq 1 ] -then -PCP_SYSCONFIG_DIR=/etc/sysconfig -sed -i 's/^\#\ PMLOGGER_LOCAL.*/PMLOGGER_LOCAL=1/g' "$RPM_BUILD_ROOT/$PCP_SYSCONFIG_DIR/pmlogger" -sed -i 's/^\#\ PMCD_LOCAL.*/PMCD_LOCAL=1/g' "$RPM_BUILD_ROOT/$PCP_SYSCONFIG_DIR/pmcd" -fi -ls -1 $RPM_BUILD_ROOT/var/lib/pcp/pmdas |\ - grep -E -v '^simple|sample|trivial|txmon' | grep -E -v '^perfevent|perfalloc.1' |\ - grep -E -v '^ib$|^infiniband' | grep -E -v '^activemq' | grep -E -v '^bonding' |\ - grep -E -v '^bind2' | grep -E -v '^dbping' | grep -E -v '^docker' |\ - grep -E -v '^ds389log'| grep -E -v '^ds389' | grep -E -v '^elasticsearch' |\ - grep -E -v '^gpfs' | grep -E -v '^gpsd' | grep -E -v '^lio' |\ - grep -E -v '^lustre' | grep -E -v '^lustrecomm' | grep -E -v '^memcache' |\ - grep -E -v '^mysql' | grep -E -v '^named' | grep -E -v '^netfilter' |\ - grep -E -v '^news' | grep -E -v '^nfsclient' | grep -E -v '^nginx' |\ - grep -E -v '^nutcracker' | grep -E -v '^oracle' | grep -E -v '^papi' |\ - grep -E -v '^pdns' | grep -E -v '^postfix' | grep -E -v '^postgresql' |\ - grep -E -v '^redis' | grep -E -v '^rsyslog' | grep -E -v '^samba' |\ - grep -E -v '^slurm' | grep -E -v '^snmp' | grep -E -v '^vmware' |\ - grep -E -v '^zimbra' | grep -E -v '^dm' | grep -E -v '^apache' |\ - grep -E -v '^bash' | grep -E -v '^cifs' | grep -E -v '^cisco' |\ - grep -E -v '^gfs2' | grep -E -v '^libvirt' | grep -E -v '^lmsensors' |\ - grep -E -v '^logger' | grep -E -v '^mailq' | grep -E -v '^mounts' |\ - grep -E -v '^nvidia' | grep -E -v '^roomtemp' | grep -E -v '^sendmail' |\ - grep -E -v '^shping' | grep -E -v '^smart' | grep -E -v '^summary' |\ - grep -E -v '^trace' | grep -E -v '^weblog' | grep -E -v '^rpm' |\ - grep -E -v '^json' | grep -E -v '^mic' | grep -E -v '^bcc' |\ - grep -E -v '^gluster' | grep -E -v '^zswap' | grep -E -v '^unbound' |\ - grep -E -v '^haproxy' | sed -e 's#^#'/var/lib/pcp/pmdas'\/#' >base_pmdas.list -ls -1 $RPM_BUILD_ROOT/usr/bin |\ - grep -E -v 'pmiostat|pmcollectl|zabbix|zbxpcp|dstat' |\ - grep -E -v 'pmrep|pcp2graphite|pcp2influxdb|pcp2zabbix' |\ - grep -E -v 'pcp2elasticsearch|pcp2json|pcp2xlsx|pcp2xml' |\ - grep -E -v 'pcp2spark' |\ - grep -E -v 'pmdbg|pmclient|pmerr|genpmda' |\ -sed -e 's#^#'/usr/bin'\/#' >base_bin.list -ls -1 $RPM_BUILD_ROOT/usr/bin |\ - egrep -e 'pmiostat|pmcollectl|pmrep|dstat' |\ - sed -e 's#^#'/usr/bin'\/#' >pcp-system-tools.list -ls -1 $RPM_BUILD_ROOT/usr/libexec/pcp/bin |\ - egrep -e 'atop|collectl|dmcache|dstat|free|iostat|ipcs|lvmcache|mpstat' \ - -e 'numastat|pidstat|shping|tapestat|uptime|verify' |\ - sed -e 's#^#'/usr/libexec/pcp/bin'\/#' >>pcp-system-tools.list -ls -1 $RPM_BUILD_ROOT/var/lib/pcp/selinux |\ - sed -e 's#^#'/var/lib/pcp/selinux'\/#' > pcp-selinux.list -ls -1 $RPM_BUILD_ROOT/usr/libexec/pcp/bin |\ - grep -E 'selinux-setup' |\ - sed -e 's#^#'/usr/libexec/pcp/bin'\/#' >> pcp-selinux.list -ls -1 $RPM_BUILD_ROOT/usr/libexec/pcp/bin |\ - grep -E -v 'atop|collectl|dmcache|dstat|free|iostat|mpstat|numastat' |\ - grep -E -v 'shping|tapestat|uptime|verify|selinux-setup' |\ - sed -e 's#^#'/usr/libexec/pcp/bin'\/#' >base_exec.list -ls -1 $RPM_BUILD_ROOT/usr/share/doc/pcp-doc |\ - sed -e 's#^#'/usr/share/doc/pcp-doc'\/#' > pcp-doc.list -ls -1 $RPM_BUILD_ROOT/usr/share/man/man1 |\ - sed -e 's#^#'/usr/share/man'\/man1\/#' >>pcp-doc.list -ls -1 $RPM_BUILD_ROOT/usr/share/man/man5 |\ - sed -e 's#^#'/usr/share/man'\/man5\/#' >>pcp-doc.list -ls -1 $RPM_BUILD_ROOT/usr/share/pcp/demos/tutorials |\ - sed -e 's#^#'/usr/share/pcp/demos/tutorials'\/#' >>pcp-doc.list -ls -1 $RPM_BUILD_ROOT/usr/share/pcp-gui/pixmaps |\ - sed -e 's#^#'/usr/share/pcp-gui/pixmaps'\/#' > pcp-gui.list -ls -1 $RPM_BUILD_ROOT/usr/share/icons/hicolor |\ - sed -e 's#^#'/usr/share/icons/hicolor'\/#' >> pcp-gui.list -cat base_bin.list base_exec.list |\ - grep -E "$PCP_GUI" >> pcp-gui.list -ls -1 $RPM_BUILD_ROOT/var/lib/pcp/config/pmlogconf/ |\ - sed -e 's#^#'/var/lib/pcp/config/pmlogconf'\/#' |\ - grep -E -v 'zeroconf' >pcp-logconf.list -cat base_pmdas.list base_bin.list base_exec.list pcp-logconf.list |\ - grep -E -v 'pmdaib|pmmgr|pmweb|pmsnap|2pcp|pmdas/systemd' |\ - grep -E -v "$PCP_GUI|pixmaps|hicolor|pcp-doc|tutorials|selinux" |\ - grep -E -v /etc/pcp | grep -E -v /var/log/pcp > base.list -ls -1 $RPM_BUILD_ROOT/usr/share/man/man3 |\ -sed -e 's#^#'/usr/share/man'\/man3\/#' | grep -v '3pm' >>pcp-doc.list -ls -1 $RPM_BUILD_ROOT/usr/share/pcp/demos |\ -sed -e 's#^#'/usr/share'\/pcp\/demos\/#' | grep -E -v tutorials >> devel.list -ls -1 $RPM_BUILD_ROOT/usr/bin |\ -grep -E 'pmdbg|pmclient|pmerr|genpmda' |\ -sed -e 's#^#'/usr/bin'\/#' >>devel.list + +PCP_GUI='pmchart|pmconfirm|pmdumptext|pmmessage|pmquery|pmsnap|pmtime' + +PCP_CONF=$BACKDIR/src/include/pcp.conf +export PCP_CONF +. $BACKDIR/src/include/pcp.env +CFGFILELIST=`ls -1 $BACKDIR/debian/pcp-conf.{install,dirs}` +LIBFILELIST=`ls -1 $BACKDIR/debian/lib*.{install,dirs} | grep -F -v -- -dev.` +DEVFILELIST=`ls -1 $BACKDIR/debian/lib*-dev.{install,dirs}` + +sed -e 's/^/\//' $CFGFILELIST >pcp-conf-files +sed -e 's/^/\//' $LIBFILELIST >pcp-libs-files +sed -e 's/^/\//' $DEVFILELIST >pcp-devel-files +grep "\.h$" $DEVFILELIST | cut -f2 -d":" >pcp-libs-devel-files +grep "\.pc$" $DEVFILELIST | cut -f2 -d":" >>pcp-libs-devel-files +grep "\.so$" $DEVFILELIST | cut -f2 -d":" >>pcp-libs-devel-files +grep "\.a$" $DEVFILELIST | cut -f2 -d":" >>pcp-libs-devel-files +sed -i -e 's/^/\//' pcp-libs-devel-files +sed -i '/.h$/d' pcp-devel-files +sed -i '/.pc$/d' pcp-devel-files +sed -i '/.so$/d' pcp-devel-files +sed -i '/.a$/d' pcp-devel-files +sed -i '/\/man\//d' pcp-devel-files +sed -i '/\/include\//d' pcp-devel-files + + +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-libs-files +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-devel-files +sed -i -e 's/usr\/lib\//usr\/lib64\//' pcp-libs-devel-files + + +awk '{print $NF}' $DIST_MANIFEST |\ +grep -E 'pcp\/(examples|demos)|(etc/pcp|pcp/pmdas)\/(sample|simple|trivial|txmon)|bin/(pmdbg|pmclient|pmerr|genpmda)' | grep -E -v tutorials >>pcp-devel-files + +cat >confpath.list <pcp-help-files +total_manifest | keep 'testsuite|etc/systemd/system|libpcp_fault|pcp/fault.h' >pcp-testsuite-files + +basic_manifest | keep "$PCP_GUI|pcp-gui|applications|pixmaps|hicolor" | cull 'pmtime.h' >pcp-gui-files +basic_manifest | keep 'selinux' | cull 'tmp|GNUselinuxdefs' >pcp-selinux-files +basic_manifest | keep 'zeroconf|daily[-_]report|/sa$' >pcp-zeroconf-files +basic_manifest | grep -E -e 'pmiostat|pmrep|dstat|htop|pcp2csv' \ + -e 'pcp-atop|pcp-dmcache|pcp-dstat|pcp-free|pcp-htop' \ + -e 'pcp-ipcs|pcp-iostat|pcp-lvmcache|pcp-mpstat' \ + -e 'pcp-numastat|pcp-pidstat|pcp-shping|pcp-tapestat' \ + -e 'pcp-uptime|pcp-verify|pcp-ss' | \ + cull 'selinux|pmlogconf|pmieconf|pmrepconf' >pcp-system-tools-files + +basic_manifest | keep 'sar2pcp' >pcp-import-sar2pcp-files +basic_manifest | keep 'iostat2pcp' >pcp-import-iostat2pcp-files +basic_manifest | keep 'sheet2pcp' >pcp-import-sheet2pcp-files +basic_manifest | keep 'mrtg2pcp' >pcp-import-mrtg2pcp-files +basic_manifest | keep 'ganglia2pcp' >pcp-import-ganglia2pcp-files +basic_manifest | keep 'collectl2pcp' >pcp-import-collectl2pcp-files +basic_manifest | keep 'pcp2elasticsearch' >pcp-export-pcp2elasticsearch-files +basic_manifest | keep 'pcp2influxdb' >pcp-export-pcp2influxdb-files +basic_manifest | keep 'pcp2graphite' >pcp-export-pcp2graphite-files +basic_manifest | keep 'pcp2json' >pcp-export-pcp2json-files +basic_manifest | keep 'pcp2spark' >pcp-export-pcp2spark-files +basic_manifest | keep 'pcp2xml' >pcp-export-pcp2xml-files +basic_manifest | keep 'pcp2zabbix' >pcp-export-pcp2zabbix-files +basic_manifest | keep 'zabbix|zbxpcp' | cull pcp2zabbix >pcp-export-zabbix-agent-files +basic_manifest | keep '(etc/pcp|pmdas)/activemq(/|$)' >pcp-pmda-activemq-files +basic_manifest | keep '(etc/pcp|pmdas)/apache(/|$)' >pcp-pmda-apache-files +basic_manifest | keep '(etc/pcp|pmdas)/bash(/|$)' >pcp-pmda-bash-files +basic_manifest | keep '(etc/pcp|pmdas)/bcc(/|$)' >pcp-pmda-bcc-files +basic_manifest | keep '(etc/pcp|pmdas)/bind2(/|$)' >pcp-pmda-bind2-files +basic_manifest | keep '(etc/pcp|pmdas)/bonding(/|$)' >pcp-pmda-bonding-files +basic_manifest | keep '(etc/pcp|pmdas)/bpf(/|$)' >pcp-pmda-bpf-files +basic_manifest | keep '(etc/pcp|pmdas)/bpftrace(/|$)' >pcp-pmda-bpftrace-files +basic_manifest | keep '(etc/pcp|pmdas)/cifs(/|$)' >pcp-pmda-cifs-files +basic_manifest | keep '(etc/pcp|pmdas)/cisco(/|$)' >pcp-pmda-cisco-files +basic_manifest | keep '(etc/pcp|pmdas)/dbping(/|$)' >pcp-pmda-dbping-files +basic_manifest | keep '(etc/pcp|pmdas|pmieconf)/dm(/|$)' >pcp-pmda-dm-files +basic_manifest | keep '(etc/pcp|pmdas)/denki(/|$)' >pcp-pmda-denki-files +basic_manifest | keep '(etc/pcp|pmdas)/docker(/|$)' >pcp-pmda-docker-files +basic_manifest | keep '(etc/pcp|pmdas)/ds389log(/|$)' >pcp-pmda-ds389log-files +basic_manifest | keep '(etc/pcp|pmdas)/ds389(/|$)' >pcp-pmda-ds389-files +basic_manifest | keep '(etc/pcp|pmdas)/elasticsearch(/|$)' >pcp-pmda-elasticsearch-files +basic_manifest | keep '(etc/pcp|pmdas)/gfs2(/|$)' >pcp-pmda-gfs2-files +basic_manifest | keep '(etc/pcp|pmdas)/gluster(/|$)' >pcp-pmda-gluster-files +basic_manifest | keep '(etc/pcp|pmdas)/gpfs(/|$)' >pcp-pmda-gpfs-files +basic_manifest | keep '(etc/pcp|pmdas)/gpsd(/|$)' >pcp-pmda-gpsd-files +basic_manifest | keep '(etc/pcp|pmdas)/hacluster(/|$)' >pcp-pmda-hacluster-files +basic_manifest | keep '(etc/pcp|pmdas)/haproxy(/|$)' >pcp-pmda-haproxy-files +basic_manifest | keep '(etc/pcp|pmdas)/infiniband(/|$)' >pcp-pmda-infiniband-files +basic_manifest | keep '(etc/pcp|pmdas)/json(/|$)' >pcp-pmda-json-files +basic_manifest | keep '(etc/pcp|pmdas)/libvirt(/|$)' >pcp-pmda-libvirt-files +basic_manifest | keep '(etc/pcp|pmdas)/lio(/|$)' >pcp-pmda-lio-files +basic_manifest | keep '(etc/pcp|pmdas)/lmsensors(/|$)' >pcp-pmda-lmsensors-files +basic_manifest | keep '(etc/pcp|pmdas)/logger(/|$)' >pcp-pmda-logger-files +basic_manifest | keep '(etc/pcp|pmdas)/lustre(/|$)' >pcp-pmda-lustre-files +basic_manifest | keep '(etc/pcp|pmdas)/lustrecomm(/|$)' >pcp-pmda-lustrecomm-files +basic_manifest | keep '(etc/pcp|pmdas)/memcache(/|$)' >pcp-pmda-memcache-files +basic_manifest | keep '(etc/pcp|pmdas)/mailq(/|$)' >pcp-pmda-mailq-files +basic_manifest | keep '(etc/pcp|pmdas)/mic(/|$)' >pcp-pmda-mic-files +basic_manifest | keep '(etc/pcp|pmdas)/mounts(/|$)' >pcp-pmda-mounts-files +basic_manifest | keep '(etc/pcp|pmdas)/mongodb(/|$)' >pcp-pmda-mongodb-files +basic_manifest | keep '(etc/pcp|pmdas|pmieconf)/mssql(/|$)' >pcp-pmda-mssql-files +basic_manifest | keep '(etc/pcp|pmdas)/mysql(/|$)' >pcp-pmda-mysql-files +basic_manifest | keep '(etc/pcp|pmdas)/named(/|$)' >pcp-pmda-named-files +basic_manifest | keep '(etc/pcp|pmdas)/netfilter(/|$)' >pcp-pmda-netfilter-files +basic_manifest | keep '(etc/pcp|pmdas)/netcheck(/|$)' >pcp-pmda-netcheck-files +basic_manifest | keep '(etc/pcp|pmdas)/news(/|$)' >pcp-pmda-news-files +basic_manifest | keep '(etc/pcp|pmdas)/nfsclient(/|$)' >pcp-pmda-nfsclient-files +basic_manifest | keep '(etc/pcp|pmdas)/nginx(/|$)' >pcp-pmda-nginx-files +basic_manifest | keep '(etc/pcp|pmdas)/nutcracker(/|$)' >pcp-pmda-nutcracker-files +basic_manifest | keep '(etc/pcp|pmdas)/nvidia(/|$)' >pcp-pmda-nvidia-files +basic_manifest | keep '(etc/pcp|pmdas)/openmetrics(/|$)' >pcp-pmda-openmetrics-files +basic_manifest | keep '(etc/pcp|pmdas)/openvswitch(/|$)' >pcp-pmda-openvswitch-files +basic_manifest | keep '(etc/pcp|pmdas)/oracle(/|$)' >pcp-pmda-oracle-files +basic_manifest | keep '(etc/pcp|pmdas)/pdns(/|$)' >pcp-pmda-pdns-files +basic_manifest | keep '(etc/pcp|pmdas)/perfevent(/|$)' >pcp-pmda-perfevent-files +basic_manifest | keep '(etc/pcp|pmdas)/podman(/|$)' >pcp-pmda-podman-files +basic_manifest | keep '(etc/pcp|pmdas)/postfix(/|$)' >pcp-pmda-postfix-files +basic_manifest | keep '(etc/pcp|pmdas)/postgresql(/|$)' >pcp-pmda-postgresql-files +basic_manifest | keep '(etc/pcp|pmdas)/rabbitmq(/|$)' >pcp-pmda-rabbitmq-files +basic_manifest | keep '(etc/pcp|pmdas)/redis(/|$)' >pcp-pmda-redis-files +basic_manifest | keep '(etc/pcp|pmdas)/roomtemp(/|$)' >pcp-pmda-roomtemp-files +basic_manifest | keep '(etc/pcp|pmdas)/rpm(/|$)' >pcp-pmda-rpm-files +basic_manifest | keep '(etc/pcp|pmdas)/rsyslog(/|$)' >pcp-pmda-rsyslog-files +basic_manifest | keep '(etc/pcp|pmdas)/samba(/|$)' >pcp-pmda-samba-files +basic_manifest | keep '(etc/pcp|pmdas)/sendmail(/|$)' >pcp-pmda-sendmail-files +basic_manifest | keep '(etc/pcp|pmdas)/shping(/|$)' >pcp-pmda-shping-files +basic_manifest | keep '(etc/pcp|pmdas)/slurm(/|$)' >pcp-pmda-slurm-files +basic_manifest | keep '(etc/pcp|pmdas)/smart(/|$)' >pcp-pmda-smart-files +basic_manifest | keep '(etc/pcp|pmdas)/snmp(/|$)' >pcp-pmda-snmp-files +basic_manifest | keep '(etc/pcp|pmdas)/sockets(/|$)' >pcp-pmda-sockets-files +basic_manifest | keep '(etc/pcp|pmdas)/summary(/|$)' >pcp-pmda-summary-files +basic_manifest | keep '(etc/pcp|pmdas)/systemd(/|$)' >pcp-pmda-systemd-files +basic_manifest | keep '(etc/pcp|pmdas)/trace(/|$)' >pcp-pmda-trace-files +basic_manifest | keep '(etc/pcp|pmdas)/unbound(/|$)' >pcp-pmda-unbound-files +basic_manifest | keep '(etc/pcp|pmdas)/weblog(/|$)' >pcp-pmda-weblog-files +basic_manifest | keep '(etc/pcp|pmdas)/zimbra(/|$)' >pcp-pmda-zimbra-files +basic_manifest | keep '(etc/pcp|pmdas)/zswap(/|$)' >pcp-pmda-zswap-files + +rm -f packages.list +for pmda_package in \ + activemq apache \ + bash bcc bind2 bonding bpf bpftrace \ + cifs cisco \ + dbping denki docker dm ds389 ds389log \ + elasticsearch \ + gfs2 gluster gpfs gpsd \ + hacluster haproxy \ + infiniband \ + json \ + libvirt lio lmsensors logger lustre lustrecomm \ + mailq memcache mic mounts mongodb mssql mysql \ + named netcheck netfilter news nfsclient nginx \ + nutcracker nvidia \ + openmetrics openvswitch oracle \ + pdns perfevent podman postfix postgresql \ + rabbitmq redis roomtemp rpm rsyslog \ + samba sendmail shping slurm smart snmp \ + sockets summary systemd \ + unbound \ + trace \ + weblog \ + zimbra zswap ; \ +do \ + pmda_packages="$pmda_packages pcp-pmda-$pmda_package"; \ +done + +for import_package in \ + collectl2pcp iostat2pcp ganglia2pcp mrtg2pcp sar2pcp sheet2pcp ; \ +do \ + import_packages="$import_packages pcp-import-$import_package"; \ +done + +for export_package in \ + pcp2elasticsearch pcp2graphite pcp2influxdb pcp2json \ + pcp2spark pcp2xml pcp2zabbix zabbix-agent ; \ +do \ + export_packages="$export_packages pcp-export-$export_package"; \ +done + +for subpackage in \ + pcp-conf pcp-gui pcp-help pcp-libs pcp-devel pcp-libs-devel \ + pcp-selinux pcp-system-tools pcp-testsuite pcp-zeroconf \ + $pmda_packages $import_packages $export_packages ; \ +do \ + echo $subpackage >> packages.list; \ +done + +rm -f *-files.rpm *-tmpfiles.rpm +sort -u $DIST_MANIFEST | awk ' +function loadfiles(files) { + system ("touch " files"-files"); + filelist=files"-files"; + while (getline < filelist) { + if (length(pkg[$0]) > 0 && pkg[$0] != files) + print "Dup: ", $0, " package: ", pkg[$0], " and ", files; + if (length(pkg[$0]) == 0) + pkg[$0] = files; + } +} +BEGIN { + while (getline < "packages.list") loadfiles($0); + while (getline < "confpath.list") conf[nconf++]=$0; +} +{ + if (pkg[$NF]) p=pkg[$NF]; + else p="pcp"; + f=p"-files.rpm"; +} +$1 == "d" { + if (match ($5, "'$PCP_RUN_DIR'")) { + printf ("%%%%ghost ") >> f; + } + if (match ($5, "'$PCP_VAR_DIR'/testsuite")) { + $3 = $4 = "pcpqa"; + } + printf ("%%%%dir %%%%attr(%s,%s,%s) %s\n", $2, $3, $4, $5) >> f + } +$1 == "f" && $6 ~ "etc/pcp\\.conf" { printf ("%%%%config ") >> f; } +$1 == "f" && $6 ~ "etc/pcp\\.env" { printf ("%%%%config ") >> f; } +$1 == "f" && $6 ~ "etc/pcp\\.sh" { printf ("%%%%config ") >> f; } +$1 == "f" { + for (i=0; i < nconf; i++) { + if ($6 ~ conf[i]) { + printf ("%%%%config(noreplace) ") >> f; + break; + } + } + if (match ($6, "'$PCP_VAR_DIR'/testsuite")) { + $3 = $4 = "pcpqa"; + } + if (match ($6, "'$PCP_MAN_DIR'") || match ($6, "'$PCP_DOC_DIR'")) { + printf ("%%%%doc ") >> f; + } + printf ("%%%%attr(%s,%s,%s) %s\n", $2, $3, $4, $6) >> f + } +$1 == "l" { + if (match ($3, "'$PCP_VAR_DIR'")) { + print $3 >> p"-tmpfiles"; + if (length(tmpfiles[p]) == 0) { + printf ("'$PCP_SYSTEMDTMPFILES_DIR'/%s.conf\n", p) >> f; + tmpfiles[p] = p; + } + } + print $3 >> f; + }' + +mkdir -p $DIST_ROOT/$PCP_SYSTEMDTMPFILES_DIR +sort -u $DIST_TMPFILES | awk ' +function loadtmpfiles(files) { + system ("touch " files"-tmpfiles"); + filelist=files"-tmpfiles"; + while (getline < filelist) { + if (pkg[$0] && pkg[$0] != files) + print "Dup: ", $0, " package: ", pkg[$0], " and ", files; + pkg[$0] = files; + } +} +BEGIN { + while (getline < "packages.list") loadtmpfiles($0); +} +{ + if (pkg[$2]) p=pkg[$2]; + else p="pcp"; + f=p".conf"; + printf ("%s\n", $0) >> f; +}' + +%if %{disable_mssql} +rm -f pcp-pmda-mssql.conf +%endif + +for tmpfile in *.conf ; \ +do \ + mv $tmpfile $DIST_ROOT/$PCP_SYSTEMDTMPFILES_DIR/$tmpfile; \ +done + +find %{buildroot} -type f -name '*.so' -exec strip '{}' ';' %pre devel -test -d /var/lib/pcp/testsuite || mkdir -p -m 755 /var/lib/pcp/testsuite +test -d %{_testsdir} || mkdir -p -m 755 %{_testsdir} getent group pcpqa >/dev/null || groupadd -r pcpqa getent passwd pcpqa >/dev/null || \ - useradd -c "PCP Quality Assurance" -g pcpqa -d /var/lib/pcp/testsuite -M -r -s /bin/bash pcpqa 2>/dev/null -chown -R pcpqa:pcpqa /var/lib/pcp/testsuite 2>/dev/null + useradd -c "PCP Quality Assurance" -g pcpqa -d %{_testsdir} -M -r -s /bin/bash pcpqa 2>/dev/null +chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null exit 0 %post devel -chown -R pcpqa:pcpqa /var/lib/pcp/testsuite 2>/dev/null +chown -R pcpqa:pcpqa %{_testsdir} 2>/dev/null +systemctl restart pmcd >/dev/null 2>&1 +systemctl restart pmlogger >/dev/null 2>&1 +systemctl enable pmcd >/dev/null 2>&1 +systemctl enable pmlogger >/dev/null 2>&1 exit 0 %pre getent group pcp >/dev/null || groupadd -r pcp getent passwd pcp >/dev/null || \ - useradd -c "PCP" -g pcp -d /var/lib/pcp -M -r -s /sbin/nologin pcp -PCP_CONFIG_DIR=/var/lib/pcp/config -PCP_SYSCONF_DIR=/etc/pcp -PCP_LOG_DIR=/var/log/pcp -PCP_ETC_DIR=/etc -for crontab in pmlogger pmie -do - test -f "$PCP_ETC_DIR/cron.d/$crontab" || continue - mv -f "$PCP_ETC_DIR/cron.d/$crontab" "$PCP_ETC_DIR/cron.d/pcp-$crontab" -done -save_configs_script() -{ - _new="$1" - shift - for _dir - do - [ "$_dir" = "$_new" ] && continue - if [ -d "$_dir" ] - then - ( cd "$_dir" ; find . -maxdepth 1 -type f ) | sed -e 's/^\.\///' \ - | while read _file - do - [ "$_file" = "control" ] && continue - _want=true - if [ -f "$_new/$_file" ] - then - _try=`find "$_dir/$_file" -newer "$_new/$_file" -print` - [ -n "$_try" ] || _want=false - fi - $_want && echo cp -p "$_dir/$_file" "$_new/$_file" - done - fi - done -} -[ -d "$PCP_LOG_DIR" ] || exit 0 -rm -f "$PCP_LOG_DIR/configs.sh" -for daemon in pmie pmlogger -do - save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_CONFIG_DIR/$daemon" \ - "$PCP_SYSCONF_DIR/$daemon" -done -for daemon in pmcd pmproxy -do - save_configs_script >> "$PCP_LOG_DIR/configs.sh" "$PCP_SYSCONF_DIR/$daemon"\ - "$PCP_CONFIG_DIR/$daemon" /etc/$daemon -done + useradd -c "Performance Co-Pilot" -g pcp -d %{_localstatedir}/lib/pcp -M -r -s /sbin/nologin pcp exit 0 -%preun webapi -if [ "$1" -eq 0 ] -then - systemctl --no-reload disable pmwebd.service >/dev/null 2>&1 - systemctl stop pmwebd.service >/dev/null 2>&1 -fi - -%preun manager -if [ "$1" -eq 0 ] -then - systemctl --no-reload disable pmmgr.service >/dev/null 2>&1 - systemctl stop pmmgr.service >/dev/null 2>&1 -fi - -%preun pmda-rpm -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"rpm"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"rpm"/ && ./Remove >/dev/null 2>&1) - fi -fi - -%preun pmda-papi -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"papi"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"papi"/ && ./Remove >/dev/null 2>&1) - fi -fi - %preun pmda-systemd -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"systemd"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"systemd"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "systemd"} %preun pmda-infiniband -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"infiniband"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"infiniband"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "infiniband"} %preun pmda-perfevent -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"perfevent"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"perfevent"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "perfevent"} + +%preun pmda-podman +%{pmda_remove "$1" "podman"} %preun pmda-json -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"json"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"json"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "json"} %preun pmda-nginx -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"nginx"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"nginx"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "nginx"} %preun pmda-oracle -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"oracle"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"oracle"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "oracle"} %preun pmda-postgresql -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"postgresql"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"postgresql"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "postgresql"} %preun pmda-postfix -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"postfix"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"postfix"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "postfix"} %preun pmda-elasticsearch -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"elasticsearch"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"elasticsearch"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "elasticsearch"} + +%preun pmda-openvswitch +%{pmda_remove "$1" "openvswitch"} + +%preun pmda-rabbitmq +%{pmda_remove "$1" "rabbitmq"} %preun pmda-snmp -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"snmp"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"snmp"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "snmp"} %preun pmda-mysql -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"mysql"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"mysql"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "mysql"} %preun pmda-activemq -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"activemq"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"activemq"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "activemq"} %preun pmda-bind2 -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"bind2"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"bind2"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "bind2"} %preun pmda-bonding -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"bonding"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"bonding"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "bonding"} %preun pmda-dbping -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"dbping"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"dbping"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "dbping"} + +%preun pmda-denki +%{pmda_remove "$1" "denki"} %preun pmda-docker -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"docker"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"docker"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "docker"} %preun pmda-ds389 -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"ds389"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"ds389"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "ds389"} %preun pmda-ds389log -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"ds389log"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"ds389log"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "ds389log"} %preun pmda-gpfs -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"gpfs"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"gpfs"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "gpfs"} %preun pmda-gpsd -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"gpsd"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"gpsd"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "gpsd"} %preun pmda-lio -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"lio"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"lio"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "lio"} -%preun pmda-prometheus -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"prometheus"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"prometheus"/ && ./Remove >/dev/null 2>&1) - fi -fi +%preun pmda-openmetrics +%{pmda_remove "$1" "openmetrics"} %preun pmda-lustre -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"lustre"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"lustre"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "lustre"} %preun pmda-lustrecomm -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"lustrecomm"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"lustrecomm"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "lustrecomm"} %preun pmda-memcache -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"memcache"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"memcache"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "memcache"} %preun pmda-named -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"named"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"named"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "named"} %preun pmda-netfilter -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"netfilter"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"netfilter"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "netfilter"} %preun pmda-news -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"news"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"news"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "news"} %preun pmda-nfsclient -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"nfsclient"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"nfsclient"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "nfsclient"} + +%preun pmda-nutcracker +%{pmda_remove "$1" "nutcracker"} %preun pmda-pdns -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"pdns"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"pdns"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "pdns"} %preun pmda-rsyslog -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"rsyslog"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"rsyslog"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "rsyslog"} %preun pmda-redis -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"redis"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"redis"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "redis"} %preun pmda-samba -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"samba"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"samba"/ && ./Remove >/dev/null 2>&1) - fi -fi - -%preun pmda-vmware -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"vmware"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"vmware"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "samba"} %preun pmda-zimbra -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"zimbra"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"zimbra"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "zimbra"} %preun pmda-dm -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"dm"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"dm"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "dm"} + %if !%{disable_bcc} %preun pmda-bcc -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"bcc"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"bcc"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "bcc"} %endif +%preun pmda-bpf +%{pmda_remove "$1" "bpf"} + +%preun pmda-bpftrace +%{pmda_remove "$1" "bpftrace"} + %preun pmda-gluster -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"gluster"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"gluster"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "gluster"} %preun pmda-zswap -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"zswap"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"zswap"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "zswap"} %preun pmda-unbound -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"unbound"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"unbound"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "unbound"} %preun pmda-mic -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"mic"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"mic"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "mic"} %preun pmda-haproxy -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"haproxy"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"haproxy"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "haproxy"} %preun pmda-libvirt -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"libvirt"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"libvirt"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "libvirt"} + +%preun pmda-lmsensors +%{pmda_remove "$1" "lmsensors"} + +%preun pmda-mongodb +%{pmda_remove "$1" "mongodb"} + +%if !%{disable_mssql} +%preun pmda-mssql +%{pmda_remove "$1" "mssql"} +%endif + +%preun pmda-netcheck +%{pmda_remove "$1" "netcheck"} %preun pmda-apache -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"apache"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"apache"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "apache"} %preun pmda-bash -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"bash"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"bash"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "bash"} %preun pmda-cifs -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"cifs"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"cifs"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "cifs"} %preun pmda-cisco -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"cisco"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"cisco"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "cisco"} %preun pmda-gfs2 -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"gfs2"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"gfs2"/ && ./Remove >/dev/null 2>&1) - fi -fi - -%preun pmda-lmsensors -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"lmsensors"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"lmsensors"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "gfs2"} %preun pmda-logger -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"logger"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"logger"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "logger"} %preun pmda-mailq -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"mailq"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"mailq"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "mailq"} %preun pmda-mounts -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"mounts"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"mounts"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "mounts"} %preun pmda-nvidia-gpu -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"nvidia"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"nvidia"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "nvidia"} %preun pmda-roomtemp -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"roomtemp"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"roomtemp"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "roomtemp"} %preun pmda-sendmail -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"sendmail"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"sendmail"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "sendmail"} %preun pmda-shping -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"shping"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"shping"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "shping"} %preun pmda-smart -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"smart"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"smart"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "smart"} + +%preun pmda-sockets +%{pmda_remove "$1" "sockets"} + +%preun pmda-hacluster +%{pmda_remove "$1" "hacluster"} %preun pmda-summary -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"summary"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"summary"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "summary"} %preun pmda-trace -if [ "$1" -eq 0 ] -then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"trace"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"trace"/ && ./Remove >/dev/null 2>&1) - fi -fi +%{pmda_remove "$1" "trace"} %preun pmda-weblog +%{pmda_remove "$1" "weblog"} + +%preun zeroconf if [ "$1" -eq 0 ] then - if [ -f "/etc/pcp/pmcd/pmcd.conf" -a -f "/var/lib/pcp/pmdas/"weblog"/domain.h" ] - then - (cd /var/lib/pcp/pmdas/"weblog"/ && ./Remove >/dev/null 2>&1) - fi + %systemd_preun pmlogger_daily_report.timer + %systemd_preun pmlogger_daily_report.service fi %preun if [ "$1" -eq 0 ] then - - -if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl --no-reload disable --now pmlogger.service || : -fi - - -if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl --no-reload disable --now pmie.service || : + %systemd_preun pmlogger.service + %systemd_preun pmlogger_farm.service + %systemd_preun pmie.service + %systemd_preun pmie_farm.service + %systemd_preun pmproxy.service + %systemd_preun pmcd.service + %systemd_preun pmie_daily.timer + %systemd_preun pmlogger_daily.timer + %systemd_preun pmlogger_check.timer + %systemd_preun pmlogger_farm_check.timer + %systemd_preun pmie_farm_check.timer + + systemctl stop pmlogger.service >/dev/null 2>&1 + systemctl stop pmlogger_farm.service >/dev/null 2>&1 + systemctl stop pmie.service >/dev/null 2>&1 + systemctl stop pmie_farm.service >/dev/null 2>&1 + systemctl stop pmproxy.service >/dev/null 2>&1 + systemctl stop pmcd.service >/dev/null 2>&1 + + PCP_PMNS_DIR=%{_pmnsdir} + rm -f "$PCP_PMNS_DIR/.NeedRebuild" >/dev/null 2>&1 fi - -if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl --no-reload disable --now pmproxy.service || : -fi - - -if [ $1 -eq 0 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl --no-reload disable --now pmcd.service || : -fi -systemctl stop pmlogger.service >/dev/null 2>&1 -systemctl stop pmie.service >/dev/null 2>&1 -systemctl stop pmproxy.service >/dev/null 2>&1 -systemctl stop pmcd.service >/dev/null 2>&1 -PCP_PMNS_DIR=/var/lib/pcp/pmns -rm -f "$PCP_PMNS_DIR/.NeedRebuild" >/dev/null 2>&1 -fi - -%post webapi -chown -R pcp:pcp /var/log/pcp/pmwebd 2>/dev/null -systemctl condrestart pmwebd.service >/dev/null 2>&1 - -%post manager -chown -R pcp:pcp /var/log/pcp/pmmgr 2>/dev/null -systemctl condrestart pmmgr.service >/dev/null 2>&1 - -%post collector -systemctl restart pmcd >/dev/null 2>&1 -systemctl restart pmlogger >/dev/null 2>&1 -systemctl enable pmcd >/dev/null 2>&1 -systemctl enable pmlogger >/dev/null 2>&1 - %post zeroconf -PCP_PMDAS_DIR=/var/lib/pcp/pmdas -PCP_SYSCONFIG_DIR=/etc/sysconfig -for PMDA in dm nfsclient ; do - touch "$PCP_PMDAS_DIR/$PMDA/.NeedInstall" +PCP_PMDAS_DIR=%{_pmdasdir} +PCP_SYSCONFIG_DIR=%{_sysconfdir}/sysconfig +PCP_PMCDCONF_PATH=%{_confdir}/pmcd/pmcd.conf +for PMDA in dm nfsclient openmetrics ; do + if ! grep -q "$PMDA/pmda$PMDA" "$PCP_PMCDCONF_PATH" + then + %{install_file "$PCP_PMDAS_DIR/$PMDA" .NeedInstall} + fi done -sed -i 's/^\#\ PMLOGGER_INTERVAL.*/PMLOGGER_INTERVAL=10/g' "$PCP_SYSCONFIG_DIR/pmlogger" pmieconf -c enable dmthin systemctl restart pmcd >/dev/null 2>&1 systemctl restart pmlogger >/dev/null 2>&1 +systemctl restart pmlogger_farm >/dev/null 2>&1 systemctl restart pmie >/dev/null 2>&1 +systemctl restart pmie_farm >/dev/null 2>&1 systemctl enable pmcd >/dev/null 2>&1 systemctl enable pmlogger >/dev/null 2>&1 +systemctl enable pmlogger_farm >/dev/null 2>&1 systemctl enable pmie >/dev/null 2>&1 +systemctl enable pmie_farm >/dev/null 2>&1 %post selinux -if [ "$1" -ge 1 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream" -elif [ "$1" -eq 0 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream" -fi +%{selinux_handle_policy "$1" "pcpupstream"} + %triggerin selinux -- docker-selinux -if [ "$1" -ge 1 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream-docker" -elif [ "$1" -eq 0 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream-docker" -fi +%{selinux_handle_policy "$1" "pcpupstream-docker"} + %triggerin selinux -- container-selinux -if [ "$1" -ge 1 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream-container" -elif [ "$1" -eq 0 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream-container" -fi +%{selinux_handle_policy "$1" "pcpupstream-container"} -%if !%{disable_bcc} -%post pmda-bcc -if grep -q ^"bcc" "/etc/pcp/pmcd/pmcd.conf" 2>/dev/null -then - touch /var/lib/pcp/pmdas/"bcc"/.NeedInstall -fi -%endif +%post +PCP_PMNS_DIR=%{_pmnsdir} +PCP_LOG_DIR=%{_logsdir} +%{install_file "$PCP_PMNS_DIR" .NeedRebuild} +%{install_file "$PCP_LOG_DIR/pmlogger" .NeedRewrite} +rm -f %{_sysconfdir}/systemd/system/pm*.requires/pm*-poll.* >/dev/null 2>&1 || true + +if systemctl is-enabled pmlogger.service >/dev/null; then +systemctl enable pmlogger_farm.service pmlogger_farm_check.service +systemctl start pmlogger_farm.service pmlogger_farm_check.service +fi +if systemctl is-enabled pmie.service >/dev/null; then +systemctl enable pmie_farm.service pmie_farm_check.service +systemctl start pmie_farm.service pmie_farm_check.service +fi + +%systemd_postun_with_restart pmcd.service +%systemd_post pmcd.service +%systemd_postun_with_restart pmlogger.service +%systemd_post pmlogger.service +%systemd_postun_with_restart pmlogger_farm.service +%systemd_post pmlogger_farm.service +%systemd_post pmlogger_farm_check.service +%systemd_postun_with_restart pmie.service +%systemd_post pmie.service +%systemd_postun_with_restart pmie_farm.service +%systemd_post pmie_farm.service +%systemd_post pmie_farm_check.service +systemctl condrestart pmproxy.service >/dev/null 2>&1 +%{rebuild_pmns "$PCP_PMNS_DIR" .NeedRebuild} + +%ldconfig_scriptlets libs -%post pmda-prometheus -if grep -q ^"prometheus" "/etc/pcp/pmcd/pmcd.conf" 2>/dev/null -then - touch /var/lib/pcp/pmdas/"prometheus"/.NeedInstall -fi +%preun selinux +%{selinux_handle_policy "$1" "pcpupstream"} -%post -PCP_LOG_DIR=/var/log/pcp -PCP_PMNS_DIR=/var/lib/pcp/pmns -test -s "$PCP_LOG_DIR/configs.sh" && source "$PCP_LOG_DIR/configs.sh" -rm -f $PCP_LOG_DIR/configs.sh -chown -R pcp:pcp /var/log/pcp/pmcd 2>/dev/null -chown -R pcp:pcp /var/log/pcp/pmlogger 2>/dev/null -chown -R pcp:pcp /var/log/pcp/sa 2>/dev/null -chown -R pcp:pcp /var/log/pcp/pmie 2>/dev/null -chown -R pcp:pcp /var/log/pcp/pmproxy 2>/dev/null -touch "$PCP_PMNS_DIR/.NeedRebuild" -chmod 644 "$PCP_PMNS_DIR/.NeedRebuild" - - -if [ $1 -ge 1 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl try-restart pmcd.service || : -fi +%triggerun selinux -- docker-selinux +%{selinux_handle_policy "$1" "pcpupstream-docker"} +%triggerun selinux -- container-selinux +%{selinux_handle_policy "$1" "pcpupstream-container"} -if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl --no-reload preset pmcd.service || : -fi +%files -f pcp-files.rpm +%doc CHANGELOG COPYING INSTALL.md README.md VERSION.pcp pcp.lsm +%ghost %dir %attr(0775,pcp,pcp) %{_localstatedir}/run/pcp +%files conf -f pcp-conf-files.rpm -if [ $1 -ge 1 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl try-restart pmlogger.service || : -fi +%files -f pcp-libs-files.rpm +%files devel -f pcp-libs-devel-files.rpm -if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl --no-reload preset pmlogger.service || : -fi +%files devel -f pcp-devel-files.rpm +%files help -f pcp-help-files.rpm -if [ $1 -ge 1 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl try-restart pmie.service || : -fi +%files selinux -f pcp-selinux-files.rpm +%files gui -f pcp-gui-files.rpm -if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ] ; then - /usr/bin/systemctl --no-reload preset pmie.service || : -fi - systemctl condrestart pmproxy.service >/dev/null 2>&1 -cd $PCP_PMNS_DIR && ./Rebuild -s && rm -f .NeedRebuild -cd -/sbin/ldconfig -%postun -/sbin/ldconfig +%files devel -f pcp-testsuite-files.rpm +%files pmda-infiniband -f pcp-pmda-infiniband-files.rpm -%preun selinux -if [ "$1" -ge 1 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream" -elif [ "$1" -eq 0 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream" -fi -%triggerun selinux -- docker-selinux -if [ "$1" -ge 1 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream-docker" -elif [ "$1" -eq 0 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream-docker" -fi -%triggerun selinux -- container-selinux -if [ "$1" -ge 1 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux install "pcpupstream-container" -elif [ "$1" -eq 0 ] -then - /usr/libexec/pcp/bin/selinux-setup /var/lib/pcp/selinux remove "pcpupstream-container" -fi +%files pmda-podman -f pcp-pmda-podman-files.rpm -%files -f base.list -%doc CHANGELOG INSTALL.md README.md VERSION.pcp pcp.lsm COPYING -%dir /etc/pcp -%dir /var/lib/pcp/pmdas -%dir /usr/share/pcp -%dir /var/lib/pcp -%dir /var/lib/pcp/config -%dir %attr(0775,pcp,pcp) /var/lib/pcp/tmp -%dir %attr(0775,pcp,pcp) /var/lib/pcp/tmp/pmie -%dir %attr(0775,pcp,pcp) /var/lib/pcp/tmp/pmlogger -%dir %attr(0700,root,root) /var/lib/pcp/tmp/pmcd -%dir /usr/share/pcp/lib -/usr/share/pcp/lib/ReplacePmnsSubtree -/usr/share/pcp/lib/bashproc.sh -/usr/share/pcp/lib/lockpmns -/usr/share/pcp/lib/pmdaproc.sh -/usr/share/pcp/lib/utilproc.sh -/usr/share/pcp/lib/rc-proc.sh -/usr/share/pcp/lib/rc-proc.sh.minimal -/usr/share/pcp/lib/unlockpmns -%dir %attr(0775,pcp,pcp) /var/log/pcp -%attr(0775,pcp,pcp) /var/log/pcp/pmcd -%attr(0775,pcp,pcp) /var/log/pcp/pmlogger -%attr(0775,pcp,pcp) /var/log/pcp/pmie -%attr(0775,pcp,pcp) /var/log/pcp/pmproxy -/var/lib/pcp/pmns -/usr/share/pcp/lib/pcp -/usr/share/pcp/lib/pmcd -/usr/share/pcp/lib/pmlogger -/usr/share/pcp/lib/pmie -/usr/share/pcp/lib/pmproxy -/usr/lib/systemd/system/pmcd.service -/usr/lib/systemd/system/pmlogger.service -/usr/lib/systemd/system/pmie.service -/usr/lib/systemd/system/pmproxy.service -%config(noreplace) /etc/sasl2/pmcd.conf -%config(noreplace) /etc/cron.d/pcp-pmlogger -%config(noreplace) /etc/cron.d/pcp-pmie -%config(noreplace) /etc/sysconfig/pmlogger -%config(noreplace) /etc/sysconfig/pmproxy -%config(noreplace) /etc/sysconfig/pmcd -%config /etc/pcp.env -%dir /etc/pcp/labels -%dir /etc/pcp/pmcd -%config(noreplace) /etc/pcp/pmcd/pmcd.conf -%config(noreplace) /etc/pcp/pmcd/pmcd.options -%config(noreplace) /etc/pcp/pmcd/rc.local -%dir /etc/pcp/pmproxy -%config(noreplace) /etc/pcp/pmproxy/pmproxy.options -%dir /etc/pcp/pmie -%dir /etc/pcp/pmie/control.d -%config(noreplace) /etc/pcp/pmie/control -%config(noreplace) /etc/pcp/pmie/control.d/local -%dir /etc/pcp/pmlogger -%dir /etc/pcp/pmlogger/control.d -%config(noreplace) /etc/pcp/pmlogger/control -%config(noreplace) /etc/pcp/pmlogger/control.d/local -%dir %attr(0775,pcp,pcp) /etc/pcp/nssdb -%dir /etc/pcp/discover -%config(noreplace) /etc/pcp/discover/pcp-kube-pods.conf -%ghost %dir %attr(0775,pcp,pcp) /var/run/pcp -/var/lib/pcp/config/pmafm -%dir %attr(0775,pcp,pcp) /var/lib/pcp/config/pmie -/var/lib/pcp/config/pmie -/var/lib/pcp/config/pmieconf -%dir %attr(0775,pcp,pcp) /var/lib/pcp/config/pmlogger -/var/lib/pcp/config/pmlogger/* -/var/lib/pcp/config/pmlogrewrite -%dir %attr(0775,pcp,pcp) /var/lib/pcp/config/pmda -/usr/share/bash-completion/completions/* -/usr/share/zsh/site-functions/_pcp -/usr/share/systemtap/tapset/pmcd.stp -/usr/lib64/libpcp.so.3 -/usr/lib64/libpcp_gui.so.2 -/usr/lib64/libpcp_mmv.so.1 -/usr/lib64/libpcp_pmda.so.3 -/usr/lib64/libpcp_trace.so.2 -/usr/lib64/libpcp_import.so.1 -/usr/lib64/libpcp_web.so.1 -%exclude /var/lib/pcp/pmns/.NeedRebuild -%exclude /usr/libexec/pcp/bin/pcp-ipcs -%exclude /usr/libexec/pcp/bin/pcp-lvmcache - -%files monitor - -%files collector - -%files zeroconf -/usr/libexec/pcp/bin/pmlogger_daily_report -%config(noreplace) /etc/cron.d/pcp-pmlogger-daily-report -/var/lib/pcp/config/pmlogconf/zeroconf - -%files conf -%dir /usr/include/pcp -/usr/include/pcp/builddefs -/usr/include/pcp/buildrules -%config /etc/pcp.conf -%dir /var/lib/pcp/config/derived -%config /var/lib/pcp/config/derived/* - - - -%files devel -f devel.list -/usr/share/pcp/examples -/var/lib/pcp/pmdas/simple -/var/lib/pcp/pmdas/sample -/var/lib/pcp/pmdas/trivial -/var/lib/pcp/pmdas/txmon -/usr/lib64/libpcp.so -/usr/lib64/libpcp_gui.so -/usr/lib64/libpcp_mmv.so -/usr/lib64/libpcp_pmda.so -/usr/lib64/libpcp_trace.so -/usr/lib64/libpcp_import.so -/usr/lib64/libpcp_web.so -/usr/lib64/pkgconfig/libpcp.pc -/usr/lib64/pkgconfig/libpcp_pmda.pc -/usr/lib64/pkgconfig/libpcp_import.pc -/usr/include/pcp/*.h -%defattr(-,pcpqa,pcpqa) -/var/lib/pcp/testsuite - -%files webapi -/usr/share/pcp/lib/pmwebd -/usr/lib/systemd/system/pmwebd.service -/usr/libexec/pcp/bin/pmwebd -%attr(0775,pcp,pcp) /var/log/pcp/pmwebd -/etc/pcp/pmwebd -%config(noreplace) /etc/pcp/pmwebd/pmwebd.options -%dir /usr/share/pcp -%dir /usr/share/pcp/webapps - -%files webjs -%dir /usr/share/pcp -%dir /usr/share/pcp/webapps -/usr/share/pcp/webapps/*.png -/usr/share/pcp/webapps/*.ico -/usr/share/pcp/webapps/*.html - -%files webapp-blinkenlights -%dir /usr/share/pcp -%dir /usr/share/pcp/webapps -/usr/share/pcp/webapps/blinkenlights - -%files webapp-grafana -%dir /usr/share/pcp -%dir /usr/share/pcp/webapps -/usr/share/pcp/webapps/grafana - -%files webapp-graphite -%dir /usr/share/pcp -%dir /usr/share/pcp/webapps -/usr/share/pcp/webapps/graphite - -%files webapp-vector -%dir /usr/share/pcp -%dir /usr/share/pcp/webapps -/usr/share/pcp/webapps/vector - -%files manager -/usr/share/pcp/lib/pmmgr -/usr/lib/systemd/system/pmmgr.service -/usr/libexec/pcp/bin/pmmgr -%attr(0775,pcp,pcp) /var/log/pcp/pmmgr -%config(missingok,noreplace) /etc/pcp/pmmgr -%config(noreplace) /etc/pcp/pmmgr/pmmgr.options - -%files import-sar2pcp -/usr/bin/sar2pcp - -%files import-iostat2pcp -/usr/bin/iostat2pcp - -%files import-mrtg2pcp -/usr/bin/mrtg2pcp +%files pmda-perfevent -f pcp-pmda-perfevent-files.rpm -%files import-ganglia2pcp -/usr/bin/ganglia2pcp +%files pmda-activemq -f pcp-pmda-activemq-files.rpm -%files import-collectl2pcp -/usr/bin/collectl2pcp +%files pmda-bind2 -f pcp-pmda-bind2-files.rpm -%files pmda-papi -/var/lib/pcp/pmdas/papi +%files pmda-nutcracker -f pcp-pmda-nutcracker-files.rpm -%files pmda-perfevent -/var/lib/pcp/pmdas/perfevent -%config(noreplace) /var/lib/pcp/pmdas/perfevent/perfevent.conf +%files pmda-elasticsearch -f pcp-pmda-elasticsearch-files.rpm -%files pmda-infiniband -/var/lib/pcp/pmdas/ib -/var/lib/pcp/pmdas/infiniband +%files pmda-redis -f pcp-pmda-redis-files.rpm -%files pmda-activemq -/var/lib/pcp/pmdas/activemq +%files pmda-bonding -f pcp-pmda-bonding-files.rpm -%files pmda-bonding -/var/lib/pcp/pmdas/bonding +%files pmda-dbping -f pcp-pmda-dbping-files.rpm -%files pmda-bind2 -/var/lib/pcp/pmdas/bind2 +%files pmda-ds389log -f pcp-pmda-ds389log-files.rpm -%files pmda-dbping -/var/lib/pcp/pmdas/dbping +%files pmda-ds389 -f pcp-pmda-ds389-files.rpm -%files pmda-ds389log -/var/lib/pcp/pmdas/ds389log +%files pmda-gpfs -f pcp-pmda-gpfs-files.rpm -%files pmda-ds389 -/var/lib/pcp/pmdas/ds389 +%files pmda-gpsd -f pcp-pmda-gpsd-files.rpm -%files pmda-elasticsearch -/var/lib/pcp/pmdas/elasticsearch +%files pmda-lustre -f pcp-pmda-lustre-files.rpm -%files pmda-gpfs -/var/lib/pcp/pmdas/gpfs +%files pmda-memcache -f pcp-pmda-memcache-files.rpm -%files pmda-gpsd -/var/lib/pcp/pmdas/gpsd +%files pmda-named -f pcp-pmda-named-files.rpm -%files pmda-docker -/var/lib/pcp/pmdas/docker +%files pmda-netfilter -f pcp-pmda-netfilter-files.rpm -%files pmda-lio -/var/lib/pcp/pmdas/lio +%files pmda-news -f pcp-pmda-news-files.rpm -%files pmda-prometheus -/var/lib/pcp/pmdas/prometheus +%files pmda-pdns -f pcp-pmda-pdns-files.rpm -%files pmda-lustre -/var/lib/pcp/pmdas/lustre +%files pmda-rsyslog -f pcp-pmda-rsyslog-files.rpm -%files pmda-lustrecomm -/var/lib/pcp/pmdas/lustrecomm +%files pmda-samba -f pcp-pmda-samba-files.rpm -%files pmda-memcache -/var/lib/pcp/pmdas/memcache +%files pmda-slurm -f pcp-pmda-slurm-files.rpm -%files pmda-mysql -/var/lib/pcp/pmdas/mysql +%files pmda-zimbra -f pcp-pmda-zimbra-files.rpm -%files pmda-named -/var/lib/pcp/pmdas/named +%files pmda-denki -f pcp-pmda-denki-files.rpm -%files pmda-netfilter -/var/lib/pcp/pmdas/netfilter +%files pmda-docker -f pcp-pmda-docker-files.rpm -%files pmda-news -/var/lib/pcp/pmdas/news +%files pmda-lustrecomm -f pcp-pmda-lustrecomm-files.rpm -%files pmda-nginx -/var/lib/pcp/pmdas/nginx +%files pmda-mysql -f pcp-pmda-mysql-files.rpm -%files pmda-nfsclient -/var/lib/pcp/pmdas/nfsclient +%files pmda-nginx -f pcp-pmda-nginx-files.rpm -%files pmda-oracle -/var/lib/pcp/pmdas/oracle +%files pmda-postfix -f pcp-pmda-postfix-files.rpm -%files pmda-pdns -/var/lib/pcp/pmdas/pdns +%files pmda-postgresql -f pcp-pmda-postgresql-files.rpm -%files pmda-postfix -/var/lib/pcp/pmdas/postfix +%files pmda-oracle -f pcp-pmda-oracle-files.rpm -%files pmda-postgresql -/var/lib/pcp/pmdas/postgresql +%files pmda-snmp -f pcp-pmda-snmp-files.rpm -%files pmda-redis -/var/lib/pcp/pmdas/redis +%files pmda-dm -f pcp-pmda-dm-files.rpm -%files pmda-rsyslog -/var/lib/pcp/pmdas/rsyslog +%if !%{disable_bcc} +%files pmda-bcc -f pcp-pmda-bcc-files.rpm +%endif -%files pmda-samba -/var/lib/pcp/pmdas/samba +%files pmda-bpf -f pcp-pmda-bpf-files.rpm -%files pmda-snmp -/var/lib/pcp/pmdas/snmp +%files pmda-bpftrace -f pcp-pmda-bpftrace-files.rpm -%files pmda-slurm -/var/lib/pcp/pmdas/slurm +%files pmda-gluster -f pcp-pmda-gluster-files.rpm -%files pmda-vmware -/var/lib/pcp/pmdas/vmware +%files pmda-zswap -f pcp-pmda-zswap-files.rpm -%files pmda-zimbra -/var/lib/pcp/pmdas/zimbra +%files pmda-unbound -f pcp-pmda-unbound-files.rpm -%files pmda-dm -/var/lib/pcp/pmdas/dm +%files pmda-mic -f pcp-pmda-mic-files.rpm -%if !%{disable_bcc} -%files pmda-bcc -/var/lib/pcp/pmdas/bcc +%files pmda-haproxy -f pcp-pmda-haproxy-files.rpm + +%files pmda-lmsensors -f pcp-pmda-lmsensors-files.rpm + +%files pmda-mongodb -f pcp-pmda-mongodb-files.rpm + +%if !%{disable_mssql} +%files pmda-mssql -f pcp-pmda-mssql-files.rpm %endif -%files pmda-gluster -/var/lib/pcp/pmdas/gluster +%files pmda-netcheck -f pcp-pmda-netcheck-files.rpm -%files pmda-zswap -/var/lib/pcp/pmdas/zswap +%files pmda-nfsclient -f pcp-pmda-nfsclient-files.rpm -%files pmda-unbound -/var/lib/pcp/pmdas/unbound +%files pmda-openvswitch -f pcp-pmda-openvswitch-files.rpm -%files pmda-mic -/var/lib/pcp/pmdas/mic +%files pmda-rabbitmq -f pcp-pmda-rabbitmq-files.rpm -%files pmda-haproxy -/var/lib/pcp/pmdas/haproxy +%files export-pcp2graphite -f pcp-export-pcp2graphite-files.rpm -%files pmda-libvirt -/var/lib/pcp/pmdas/libvirt +%files export-pcp2json -f pcp-export-pcp2json-files.rpm -%files export-pcp2graphite -/usr/bin/pcp2graphite +%files export-pcp2spark -f pcp-export-pcp2spark-files.rpm -%files export-pcp2influxdb -/usr/bin/pcp2influxdb +%files export-pcp2xml -f pcp-export-pcp2xml-files.rpm -%files export-pcp2json -/usr/bin/pcp2json +%files export-pcp2zabbix -f pcp-export-pcp2zabbix-files.rpm -%files export-pcp2spark -/usr/bin/pcp2spark +%files export-pcp2elasticsearch -f pcp-export-pcp2elasticsearch-files.rpm +%files export-pcp2influxdb -f pcp-export-pcp2influxdb-files.rpm -%files export-pcp2xml -/usr/bin/pcp2xml +%files export-zabbix-agent -f pcp-export-zabbix-agent-files.rpm -%files export-pcp2zabbix -/usr/bin/pcp2zabbix +%files pmda-json -f pcp-pmda-json-files.rpm -%files export-zabbix-agent -/usr/lib64/zabbix -/etc/zabbix/zabbix_agentd.d/zbxpcp.conf +%files pmda-libvirt -f pcp-pmda-libvirt-files.rpm -%files pmda-json -/var/lib/pcp/pmdas/json +%files pmda-lio -f pcp-pmda-lio-files.rpm -%files pmda-apache -/var/lib/pcp/pmdas/apache +%files pmda-openmetrics -f pcp-pmda-openmetrics-files.rpm -%files pmda-bash -/var/lib/pcp/pmdas/bash +%files pmda-apache -f pcp-pmda-apache-files.rpm -%files pmda-cifs -/var/lib/pcp/pmdas/cifs +%files pmda-bash -f pcp-pmda-bash-files.rpm -%files pmda-cisco -/var/lib/pcp/pmdas/cisco +%files pmda-cifs -f pcp-pmda-cifs-files.rpm -%files pmda-gfs2 -/var/lib/pcp/pmdas/gfs2 +%files pmda-cisco -f pcp-pmda-cisco-files.rpm -%files pmda-lmsensors -/var/lib/pcp/pmdas/lmsensors +%files pmda-gfs2 -f pcp-pmda-gfs2-files.rpm -%files pmda-logger -/var/lib/pcp/pmdas/logger +%files pmda-logger -f pcp-pmda-logger-files.rpm -%files pmda-mailq -/var/lib/pcp/pmdas/mailq +%files pmda-mailq -f pcp-pmda-mailq-files.rpm -%files pmda-mounts -/var/lib/pcp/pmdas/mounts +%files pmda-mounts -f pcp-pmda-mounts-files.rpm -%files pmda-nvidia-gpu -/var/lib/pcp/pmdas/nvidia +%files pmda-nvidia-gpu -f pcp-pmda-nvidia-files.rpm -%files pmda-roomtemp -/var/lib/pcp/pmdas/roomtemp +%files pmda-roomtemp -f pcp-pmda-roomtemp-files.rpm -%files pmda-rpm -/var/lib/pcp/pmdas/rpm +%files pmda-sendmail -f pcp-pmda-sendmail-files.rpm -%files pmda-sendmail -/var/lib/pcp/pmdas/sendmail +%files pmda-shping -f pcp-pmda-shping-files.rpm -%files pmda-shping -/var/lib/pcp/pmdas/shping +%files pmda-smart -f pcp-pmda-smart-files.rpm -%files pmda-smart -/var/lib/pcp/pmdas/smart +%files pmda-sockets -f pcp-pmda-sockets-files.rpm -%files pmda-summary -/var/lib/pcp/pmdas/summary +%files pmda-hacluster -f pcp-pmda-hacluster-files.rpm -%files pmda-systemd -/var/lib/pcp/pmdas/systemd +%files pmda-summary -f pcp-pmda-summary-files.rpm -%files pmda-trace -/var/lib/pcp/pmdas/trace +%files pmda-systemd -f pcp-pmda-systemd-files.rpm -%files pmda-weblog -/var/lib/pcp/pmdas/weblog +%files pmda-trace -f pcp-pmda-trace-files.rpm + +%files pmda-weblog -f pcp-pmda-weblog-files.rpm + +%files import-sar2pcp -f pcp-import-sar2pcp-files.rpm + +%files import-iostat2pcp -f pcp-import-iostat2pcp-files.rpm + +%files import-mrtg2pcp -f pcp-import-mrtg2pcp-files.rpm + +%files import-ganglia2pcp -f pcp-import-ganglia2pcp-files.rpm + +%files import-collectl2pcp -f pcp-import-collectl2pcp-files.rpm %files -n perl-PCP-PMDA -f perl-pcp-pmda.list @@ -2203,25 +1922,15 @@ fi %files -n python3-pcp -f python3-pcp.list.rpm -%files gui -f pcp-gui.list -/etc/pcp/pmsnap -%config(noreplace) /etc/pcp/pmsnap/control -/var/lib/pcp/config/pmsnap -/var/lib/pcp/config/pmchart -/var/lib/pcp/config/pmafm/pcp-gui -/usr/share/applications/pmchart.desktop +%files system-tools -f pcp-system-tools-files.rpm -%files help -f pcp-doc.list +%files zeroconf -f pcp-zeroconf-files.rpm -%files selinux -f pcp-selinux.list - -%files system-tools -f pcp-system-tools.list -%dir /etc/pcp/dstat -%dir /etc/pcp/pmrep -%config(noreplace) /etc/pcp/dstat/* -%config(noreplace) /etc/pcp/pmrep/* %changelog +* Wed Apr 06 2022 wangkai - 5.3.5-1 +- Update to 5.3.5 + * Tue Nov 02 2021 lingsheng - 4.1.3-17 - Add pcp_domain selinux policy