summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-support/pcp/pcp-native_5.3.5.bb49
-rw-r--r--meta-oe/recipes-support/pcp/pcp.inc32
-rw-r--r--meta-oe/recipes-support/pcp/pcp/0001-Remove-unsuitble-part-for-cross-compile.patch45
-rw-r--r--meta-oe/recipes-support/pcp/pcp/config.linux13
-rw-r--r--meta-oe/recipes-support/pcp/pcp_5.3.5.bb219
5 files changed, 358 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/pcp/pcp-native_5.3.5.bb b/meta-oe/recipes-support/pcp/pcp-native_5.3.5.bb
new file mode 100644
index 0000000000..029a47531b
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp-native_5.3.5.bb
@@ -0,0 +1,49 @@
1require pcp.inc
2inherit python3native native
3#autotools-brokensep
4DEPENDS = "python3-native python3-setuptools-native flex-native bison-native"
5
6export PCP_DIR = "${D}"
7export PCP_TMP_DIR = "${D}/tmp"
8export PCP_BIN_DIR = "${D}/usr/bin"
9
10B = "${S}"
11
12do_configure:prepend() {
13 export SED=${TMPDIR}/hosttools/sed
14 export AR=${TMPDIR}/hosttools/ar
15# export PYTHON=python3
16
17 rm -rf ${S}/include/pcp/configsz.h
18 rm -rf ${S}/include/pcp/platformsz.h
19
20}
21do_compile:prepend() {
22 sed -i -e "s,#undef HAVE_64BIT_LONG,,g" \
23 -e "s,#undef HAVE_64BIT_PTR,,g" \
24 -e "s,#undef PM_SIZEOF_SUSECONDS_T,,g" \
25 -e "s,#undef PM_SIZEOF_TIME_T,,g" \
26 ${S}/src/include/pcp/config.h.in
27
28 export AR=${TMPDIR}/hosttools/ar
29# export PYTHON=python3
30}
31
32do_compile() {
33 oe_runmake default_pcp
34}
35
36do_install () {
37 oe_runmake install \
38 PCP_ETC_DIR=${D}/${sysconfdir} \
39 PCP_SYSCONF_DIR=${D}/${sysconfdir} \
40 PCP_VAR_DIR=${D}/${localstatedir} \
41 PCP_SHARE_DIR=${D}/${datadir} \
42 PCP_BIN_DIR=${D}/${bindir} \
43 PCP_BINADM_DIR=${D}/${libexecdir}/pcp/bin \
44 PCP_LIBADM_DIR=${D}/${libdir} \
45 PCP_LIB_DIR=${D}/${libdir} \
46 PCP_MAN_DIR=${D}/${mandir} \
47 PCP_DOC_DIR=${D}/${docdir}
48}
49
diff --git a/meta-oe/recipes-support/pcp/pcp.inc b/meta-oe/recipes-support/pcp/pcp.inc
new file mode 100644
index 0000000000..f6f111b0e8
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp.inc
@@ -0,0 +1,32 @@
1SUMMARY = "System-level performance monitoring and performance management"
2HOMEPAGE = "http://www.pcp.io"
3SECTION = "Applications/System"
4
5LICENSE = "GPLv2+ & LGPLv2.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=37ab75b580d5aad4ada04260efa3702f \
7 "
8COMPATIBLE_HOST:libc-musl = "null"
9
10SRC_URI = "https://performancecopilot.jfrog.io/artifactory/pcp-source-release/pcp-5.3.5.src.tar.gz \
11 file://config.linux \
12 "
13
14SRC_URI[sha256sum] = "589a610f753a49af6d2015cede87e9d469bd07880ebef26fe1607b6ded375e97"
15
16inherit distutils3-base pkgconfig autotools
17
18B = "${S}"
19
20# Specify any options you want to pass to the configure script using EXTRA_OECONF:
21CACHED_CONFIGUREVARS = "PACKAGE_DISTRIBUTION=arch"
22EXTRA_OECONF:append = " --with-dstat-symlink=yes --with-infiniband=no \
23 --with-pmdapodman=no --with-python=no --with-python3=yes --with-perl=no \
24 --with-pmdabcc=no --with-pmdajson=no --with-perfevent=no \
25 --with-pmdabcc=yes \
26 --with-rundir=${localstatedir}/run \
27 --with-sysconfigdir=${sysconfdir} \
28 --with-logdir=${localstatedir}/log \
29 --with-docdir=${docdir} \
30 "
31
32
diff --git a/meta-oe/recipes-support/pcp/pcp/0001-Remove-unsuitble-part-for-cross-compile.patch b/meta-oe/recipes-support/pcp/pcp/0001-Remove-unsuitble-part-for-cross-compile.patch
new file mode 100644
index 0000000000..292499850e
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp/0001-Remove-unsuitble-part-for-cross-compile.patch
@@ -0,0 +1,45 @@
1From db9e6a4b7a48dee62fccb662347dd638a2d286d5 Mon Sep 17 00:00:00 2001
2From: Lei Maohui <leimaohui@fujitsu.com>
3Date: Thu, 2 Dec 2021 14:29:06 +0900
4Subject: [PATCH] Remove unsuitble part for cross-compile.
5
6Upstream-Status: Inappropriate [OE specific]
7
8Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
9---
10 configure.ac | 6 ------
11 src/libpcp/src/GNUmakefile | 1 -
12 2 files changed, 7 deletions(-)
13
14diff --git a/configure.ac b/configure.ac
15index 5b25382..5d24714 100644
16--- a/configure.ac
17+++ b/configure.ac
18@@ -623,12 +623,6 @@ fi
19 which=$WHICH
20 AC_SUBST(which)
21
22-if test -z "$AR"; then
23- AC_PATH_PROGS(AR, [gcc-ar ar], /usr/bin/ar)
24-fi
25-if test ! -x "$AR"; then
26- AC_MSG_ERROR([cannot find a valid 'ar' command.])
27-fi
28 ar=$AR
29 AC_SUBST(ar)
30
31diff --git a/src/libpcp/src/GNUmakefile b/src/libpcp/src/GNUmakefile
32index 3c4ccd6..d1eba19 100644
33--- a/src/libpcp/src/GNUmakefile
34+++ b/src/libpcp/src/GNUmakefile
35@@ -176,7 +176,6 @@ exports: exports.in mk.exports
36 # cases
37 #
38 check.done: $(OBJECTS)
39- ./check-statics
40 touch check.done
41
42 ifneq ($(LIBTARGET),)
43--
442.25.1
45
diff --git a/meta-oe/recipes-support/pcp/pcp/config.linux b/meta-oe/recipes-support/pcp/pcp/config.linux
new file mode 100644
index 0000000000..191f87acc6
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp/config.linux
@@ -0,0 +1,13 @@
1sizeof_int=4
2sizeof_long=4
3sizeof_pointer=8
4sizeof_suseconds_t=8
5sizeof_time_t=8
6bit_field_scheme=2100
7enable_python3='yes'
8enable_python3='true'
9have_python_OrderedDict="true"
10have_python=python3
11printf_p_prefix=0x
12printf_fmt_int64=I64d
13strtoint64=strtoll
diff --git a/meta-oe/recipes-support/pcp/pcp_5.3.5.bb b/meta-oe/recipes-support/pcp/pcp_5.3.5.bb
new file mode 100644
index 0000000000..2dafab1b57
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp_5.3.5.bb
@@ -0,0 +1,219 @@
1require pcp.inc
2#inherit perlnative
3
4# NOTE: the following prog dependencies are unknown, ignoring: gtar gzip pkgmk xmlto lzma qshape md5sum pod2man publican git makedepend qmake-qt4 xconfirm true gmake xz dblatex hdiutil rpm bzip2 which mkinstallp dtrace seinfo qmake-qt5 gawk dlltool rpmbuild dpkg makepkg qmake echo
5# NOTE: unable to map the following pkg-config dependencies: libmicrohttpd libsystemd-journal
6# (this is based on recipes that have previously been built and packaged)
7# NOTE: the following library dependencies are unknown, ignoring: nspr gen ibumad regex sasl2 pfm nss papi ibmad
8# (this is based on recipes that have previously been built and packaged)
9DEPENDS += "perl-native bison-native flex-native python3-native python3-setuptools python3 \
10 pcp-native cairo zlib ncurses readline libx11 avahi openssl"
11
12
13SRC_URI += "file://0001-Remove-unsuitble-part-for-cross-compile.patch \
14 "
15
16export PCP_DIR="${RECIPE_SYSROOT_NATIVE}"
17#export PCP_RUN_DIR="${RECIPE_SYSROOT_NATIVE}"
18EXTRA_OEMAKE = "CC="${CC}" LD="${LD}" AR="${AR}""
19inherit useradd systemd
20
21SYSTEMD_AUTO_ENABLE:${PN} = "enable"
22SYSTEMD_SERVICE:${PN} = "pmcd.service pmcd.service pmie_check.service pmie_farm_check.service \
23 pmlogger_daily.service pmlogger_farm_check.service pmfind.service \
24 pmie_daily.service pmlogger.service pmlogger_daily_report.service \
25 pmproxy.service pmie.service pmie_farm.service pmlogger_check.service \
26 pmlogger_farm.service"
27
28USERADD_PACKAGES = "${PN}"
29USERADD_PARAM:${PN} = "--system --home ${localstatedir}/lib/pcp --no-create-home \
30 --user-group pcp"
31
32USERADD_PACKAGES = "${PN}-testsuite"
33USERADD_PARAM:${PN}-testsuite = "--system --home ${localstatedir}/lib/pcp/testsuite --no-create-home \
34 --user-group pcpqa"
35
36RDEPENDS:${PN} += "perl"
37RDEPENDS:${PN}-testsuite += "${PN} bash perl"
38RDEPENDS:python3-${PN} += "${PN} python3"
39
40do_configure:prepend () {
41 cp ${WORKDIR}/config.linux ${B}
42 rm -rf ${S}/include/pcp/configsz.h
43 rm -rf ${S}/include/pcp/platformsz.h
44 export SED=${TMPDIR}/hosttools/sed
45 export PYTHON=python3
46}
47
48do_compile:prepend() {
49 sed -i -e "s,#undef HAVE_64BIT_LONG,,g" \
50 -e "s,#undef HAVE_64BIT_PTR,,g" \
51 -e "s,#undef PM_SIZEOF_SUSECONDS_T,,g" \
52 -e "s,#undef PM_SIZEOF_TIME_T,,g" \
53 ${S}/src/include/pcp/config.h.in
54 sed -i -e "s,HAVE_PYTHON_ORDEREDDICT = false,HAVE_PYTHON_ORDEREDDICT = true,g" \
55 ${S}/src/include/builddefs
56 sed -i -e "s,TOPDIR)/python3-pcp.list,TOPDIR)/python3-pcp.list --install-lib=${PYTHON_SITEPACKAGES_DIR},g" ${S}/src/python/GNUmakefile
57 export PYTHON=python3
58 #export PYTHON3=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}
59}
60
61do_compile() {
62 oe_runmake default_pcp
63}
64
65do_install () {
66 export NO_CHOWN=true
67 oe_runmake install DIST_ROOT=${D}\
68 install_pcp
69
70 rm -rf ${D}${localstatedir}/log
71 rm -rf ${D}${localstatedir}/lib/pcp/pmcd
72 rm -rf ${D}${localstatedir}/lib/pcp/tmp
73 rm -rf ${D}${localstatedir}/run
74 mv ${D}${docdir}/C* ${D}${docdir}/pcp-doc/
75 mv ${D}${docdir}/I* ${D}${docdir}/pcp-doc/
76 mv ${D}${docdir}/R* ${D}${docdir}/pcp-doc/
77 mv ${D}${docdir}/V* ${D}${docdir}/pcp-doc/
78 sed -i "s#PCP_AWK_PROG=.*#PCP_AWK_PROG=awk#" ${D}/${sysconfdir}/pcp.conf
79 sed -i "s#PCP_SORT_PROG=.*#PCP_SORT_PROG=sort#" ${D}/${sysconfdir}/pcp.conf
80 sed -i "s#PCP_ECHO_PROG=.*#PCP_ECHO_PROG=echo#" ${D}/${sysconfdir}/pcp.conf
81 sed -i "s#PCP_WHICH_PROG=.*#PCP_WHICH_PROG=which#" ${D}/${sysconfdir}/pcp.conf
82}
83
84PACKAGES += " ${PN}-export-zabbix-agent ${PN}-testsuite \
85 libpcp-gui2 libpcp-gui2-dev \
86 libpcp-import1 \
87 libpcp-mmv1 libpcp-mmv1-dev \
88 libpcp-pmda3 libpcp-pmda3-dev \
89 libpcp-trace2 libpcp-trace2-dev \
90 libpcp-web1 libpcp-web1-dev \
91 libpcp3 libpcp3-dev python3-${PN}\
92"
93FILES:libpcp-gui2 = "${libdir}/libpcp_gui.so.2 \
94"
95FILES:libpcp-gui2-dev = " \
96 ${libdir}/libpcp_gui.so \
97 ${libdir}/libpcp_gui.a \
98 ${includedir}/pmafm.h \
99 ${includedir}/pmtime.h \
100"
101FILES:libpcp-mmv1 = " \
102 ${libdir}/libpcp_mmv.so.1 \
103"
104FILES:libpcp-mmv1-dev = " \
105 ${libdir}/libpcp_mmv.a \
106 ${libdir}/libpcp_mmv.so \
107 ${libdir}/libpcp_mmv.so \
108 ${includedir}/mmv_stats.h \
109 ${includedir}/mmv_dev.h \
110 ${datadir}/man/man3/mmv_* \
111 ${datadir}/man/man5/mmv.5.gz \
112"
113FILES:libpcp-import1 = " \
114 ${libdir}/libpcp_import.so.1 \
115"
116FILES:libpcp-pmda3 = " \
117 ${libdir}/libpcp_pmda.so.3 \
118"
119FILES:libpcp-pmda3-dev = " \
120 ${includedir}/pmda.h \
121 ${includedir}/pmdaroot.h \
122 ${libdir}/libpcp_pmda.a \
123 ${libdir}/libpcp_pmda.so \
124 ${libdir}/pkgconfig/libpcp_pmda.pc \
125 ${datadir}/man/man3/PMDA.3.gz \
126 ${datadir}/man/man3/pmda* \
127"
128FILES:libpcp-trace2 = " \
129 ${libdir}/libpcp_trace.so.2 \
130"
131FILES:libpcp-trace2-dev = " \
132 ${includedir}/trace.h \
133 ${includedir}/trace_dev.h \
134 ${libdir}/libpcp_trace.a \
135 ${libdir}/libpcp_trace.so \
136 ${datadir}/man/man3/pmtrace* \
137"
138FILES:libpcp-web1 = " \
139 ${libdir}/libpcp_web.so.1 \
140"
141FILES:libpcp-web1-dev = " \
142 ${includedir}/pmhttp.h \
143 ${includedir}/pmjson.h \
144 ${libdir}/libpcp_web.a \
145 ${libdir}/libpcp_web.so \
146 ${datadir}/man/man3/pmhttp* \
147 ${datadir}/man/man3/pmjson* \
148"
149FILES:libpcp3 = " \
150 ${libdir}/libpcp.so.3 \
151"
152
153FILES:${PN} = " \
154 ${sysconfdir}/pcp \
155 ${sysconfdir}/cron.d \
156 ${sysconfdir}/init.d \
157 ${libexecdir} \
158 ${bindir} \
159 ${datadir}/bash-completion \
160 ${datadir}/pcp-gui \
161 ${datadir}/zsh \
162 ${systemd_system_unitdir}/ \
163 ${libdir}/pcp/ \
164 ${datadir}/pcp \
165 ${libdir}/*.sh \
166 ${datadir}/man \
167 ${libdir}/rc-proc.sh.minimal \
168 ${sysconfdir}/p* \
169 ${sysconfdir}/s* \
170 ${localstatedir}/lib/pcp/config \
171 ${localstatedir}/lib/pcp/pmdas/ \
172 ${localstatedir}/lib/pcp/pmns \
173 ${libdir}/libpcp_fault.so.3 \
174"
175
176FILES:${PN}-export-zabbix-agent += " \
177 ${libdir}/zabbix \
178 ${sysconfdir}/zabbix \
179 ${mandir}/man3/zbxpcp.3.gz \
180 ${libdir}/zabbix \
181"
182FILES:${PN}-testsuite = "${localstatedir}/lib/pcp/testsuite/"
183FILES:python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}"
184FILES:${PN}-dev += " \
185 ${includedir}/pcp \
186 ${libdir}/libpcp.a \
187 ${libdir}/libpcp.so \
188 ${localstatedir}/lib/pcp/pmdas/*/*.so \
189 ${libexecdir}/pcp/bin/install-sh \
190 ${libdir}/pkgconfig/libpcp.pc \
191 ${libdir}/zabbix/modules/*.so \
192 ${datadir}/man/man3/LOGIMPORT.3.gz \
193 ${datadir}/man/man3/P* \
194 ${datadir}/man/man3/Q* \
195 ${datadir}/man/man3/__pm* \
196 ${datadir}/man/man3/pmA* \
197 ${datadir}/man/man3/pmC* \
198 ${datadir}/man/man3/pmD* \
199 ${datadir}/man/man3/pmE* \
200 ${datadir}/man/man3/pmF* \
201 ${datadir}/man/man3/pmG* \
202 ${datadir}/man/man3/pmH* \
203 ${datadir}/man/man3/pmI* \
204 ${datadir}/man/man3/pmL* \
205 ${datadir}/man/man3/pmM* \
206 ${datadir}/man/man3/pmN* \
207 ${datadir}/man/man3/pmO* \
208 ${datadir}/man/man3/pmP* \
209 ${datadir}/man/man3/pmR* \
210 ${datadir}/man/man3/pmS* \
211 ${datadir}/man/man3/pmT* \
212 ${datadir}/man/man3/pmU* \
213 ${datadir}/man/man3/pmW* \
214 ${datadir}/man/man3/pmf* \
215 ${datadir}/man/man3/pmg* \
216 ${datadir}/man/man3/pmi* \
217 ${datadir}/man/man3/pms* \
218 ${datadir}/man/man3/pmt* \
219"