1*4882a593Smuzhiyunrequire pcp.inc 2*4882a593Smuzhiyun#inherit perlnative 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun# 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*4882a593Smuzhiyun# NOTE: unable to map the following pkg-config dependencies: libmicrohttpd libsystemd-journal 6*4882a593Smuzhiyun# (this is based on recipes that have previously been built and packaged) 7*4882a593Smuzhiyun# NOTE: the following library dependencies are unknown, ignoring: nspr gen ibumad regex sasl2 pfm nss papi ibmad 8*4882a593Smuzhiyun# (this is based on recipes that have previously been built and packaged) 9*4882a593SmuzhiyunDEPENDS += "perl-native bison-native flex-native python3-native python3-setuptools python3 \ 10*4882a593Smuzhiyun pcp-native cairo zlib ncurses readline libx11 avahi openssl" 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunSRC_URI += "file://0001-Remove-unsuitble-part-for-cross-compile.patch \ 14*4882a593Smuzhiyun file://pass-options-to-AR.patch \ 15*4882a593Smuzhiyun file://fix_parallel_make.patch \ 16*4882a593Smuzhiyun " 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunexport PCP_DIR="${RECIPE_SYSROOT_NATIVE}" 19*4882a593Smuzhiyun#export PCP_RUN_DIR="${RECIPE_SYSROOT_NATIVE}" 20*4882a593SmuzhiyunEXTRA_OEMAKE = "CC="${CC}" LD="${LD}"" 21*4882a593Smuzhiyuninherit useradd systemd features_check 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun# Needs libx11 24*4882a593SmuzhiyunREQUIRED_DISTRO_FEATURES = "x11" 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunSYSTEMD_AUTO_ENABLE:${PN} = "enable" 27*4882a593SmuzhiyunSYSTEMD_SERVICE:${PN} = "pmcd.service pmcd.service pmie_check.service pmie_farm_check.service \ 28*4882a593Smuzhiyun pmlogger_daily.service pmlogger_farm_check.service pmfind.service \ 29*4882a593Smuzhiyun pmie_daily.service pmlogger.service pmlogger_daily_report.service \ 30*4882a593Smuzhiyun pmproxy.service pmie.service pmie_farm.service pmlogger_check.service \ 31*4882a593Smuzhiyun pmlogger_farm.service" 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunUSERADD_PACKAGES = "${PN}" 34*4882a593SmuzhiyunUSERADD_PARAM:${PN} = "--system --home ${localstatedir}/lib/pcp --no-create-home \ 35*4882a593Smuzhiyun --user-group pcp" 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunUSERADD_PACKAGES = "${PN}-testsuite" 38*4882a593SmuzhiyunUSERADD_PARAM:${PN}-testsuite = "--system --home ${localstatedir}/lib/pcp/testsuite --no-create-home \ 39*4882a593Smuzhiyun --user-group pcpqa" 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunRDEPENDS:${PN} += "perl" 42*4882a593SmuzhiyunRDEPENDS:${PN}-testsuite += "${PN} bash perl" 43*4882a593SmuzhiyunRDEPENDS:python3-${PN} += "${PN} python3" 44*4882a593Smuzhiyun 45*4882a593Smuzhiyundo_configure:prepend () { 46*4882a593Smuzhiyun cp ${WORKDIR}/config.linux ${B} 47*4882a593Smuzhiyun rm -rf ${S}/include/pcp/configsz.h 48*4882a593Smuzhiyun rm -rf ${S}/include/pcp/platformsz.h 49*4882a593Smuzhiyun export SED=${TMPDIR}/hosttools/sed 50*4882a593Smuzhiyun export PYTHON=python3 51*4882a593Smuzhiyun} 52*4882a593Smuzhiyun 53*4882a593Smuzhiyundo_compile:prepend() { 54*4882a593Smuzhiyun sed -i -e "s,#undef HAVE_64BIT_LONG,,g" \ 55*4882a593Smuzhiyun -e "s,#undef HAVE_64BIT_PTR,,g" \ 56*4882a593Smuzhiyun -e "s,#undef PM_SIZEOF_SUSECONDS_T,,g" \ 57*4882a593Smuzhiyun -e "s,#undef PM_SIZEOF_TIME_T,,g" \ 58*4882a593Smuzhiyun ${S}/src/include/pcp/config.h.in 59*4882a593Smuzhiyun sed -i -e "s,HAVE_PYTHON_ORDEREDDICT = false,HAVE_PYTHON_ORDEREDDICT = true,g" \ 60*4882a593Smuzhiyun ${S}/src/include/builddefs 61*4882a593Smuzhiyun sed -i -e "s,TOPDIR)/python3-pcp.list,TOPDIR)/python3-pcp.list --install-lib=${PYTHON_SITEPACKAGES_DIR},g" ${S}/src/python/GNUmakefile 62*4882a593Smuzhiyun export PYTHON=python3 63*4882a593Smuzhiyun #export PYTHON3=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} 64*4882a593Smuzhiyun} 65*4882a593Smuzhiyun 66*4882a593Smuzhiyundo_compile() { 67*4882a593Smuzhiyun oe_runmake default_pcp 68*4882a593Smuzhiyun} 69*4882a593Smuzhiyun 70*4882a593Smuzhiyundo_install () { 71*4882a593Smuzhiyun export NO_CHOWN=true 72*4882a593Smuzhiyun oe_runmake install DIST_ROOT=${D}\ 73*4882a593Smuzhiyun install_pcp 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun rm -rf ${D}${localstatedir}/log 76*4882a593Smuzhiyun rm -rf ${D}${localstatedir}/lib/pcp/pmcd 77*4882a593Smuzhiyun rm -rf ${D}${localstatedir}/lib/pcp/tmp 78*4882a593Smuzhiyun rm -rf ${D}${localstatedir}/run 79*4882a593Smuzhiyun mv ${D}${docdir}/C* ${D}${docdir}/pcp-doc/ 80*4882a593Smuzhiyun mv ${D}${docdir}/I* ${D}${docdir}/pcp-doc/ 81*4882a593Smuzhiyun mv ${D}${docdir}/R* ${D}${docdir}/pcp-doc/ 82*4882a593Smuzhiyun mv ${D}${docdir}/V* ${D}${docdir}/pcp-doc/ 83*4882a593Smuzhiyun sed -i "s#PCP_AWK_PROG=.*#PCP_AWK_PROG=awk#" ${D}/${sysconfdir}/pcp.conf 84*4882a593Smuzhiyun sed -i "s#PCP_SORT_PROG=.*#PCP_SORT_PROG=sort#" ${D}/${sysconfdir}/pcp.conf 85*4882a593Smuzhiyun sed -i "s#PCP_ECHO_PROG=.*#PCP_ECHO_PROG=echo#" ${D}/${sysconfdir}/pcp.conf 86*4882a593Smuzhiyun sed -i "s#PCP_WHICH_PROG=.*#PCP_WHICH_PROG=which#" ${D}/${sysconfdir}/pcp.conf 87*4882a593Smuzhiyun} 88*4882a593Smuzhiyun 89*4882a593SmuzhiyunPACKAGES += " ${PN}-export-zabbix-agent ${PN}-testsuite \ 90*4882a593Smuzhiyun libpcp-gui2 libpcp-gui2-dev \ 91*4882a593Smuzhiyun libpcp-import1 \ 92*4882a593Smuzhiyun libpcp-mmv1 libpcp-mmv1-dev \ 93*4882a593Smuzhiyun libpcp-pmda3 libpcp-pmda3-dev \ 94*4882a593Smuzhiyun libpcp-trace2 libpcp-trace2-dev \ 95*4882a593Smuzhiyun libpcp-web1 libpcp-web1-dev \ 96*4882a593Smuzhiyun libpcp3 libpcp3-dev python3-${PN}\ 97*4882a593Smuzhiyun" 98*4882a593SmuzhiyunFILES:libpcp-gui2 = "${libdir}/libpcp_gui.so.2 \ 99*4882a593Smuzhiyun" 100*4882a593SmuzhiyunFILES:libpcp-gui2-dev = " \ 101*4882a593Smuzhiyun ${libdir}/libpcp_gui.so \ 102*4882a593Smuzhiyun ${libdir}/libpcp_gui.a \ 103*4882a593Smuzhiyun ${includedir}/pmafm.h \ 104*4882a593Smuzhiyun ${includedir}/pmtime.h \ 105*4882a593Smuzhiyun" 106*4882a593SmuzhiyunFILES:libpcp-mmv1 = " \ 107*4882a593Smuzhiyun ${libdir}/libpcp_mmv.so.1 \ 108*4882a593Smuzhiyun" 109*4882a593SmuzhiyunFILES:libpcp-mmv1-dev = " \ 110*4882a593Smuzhiyun ${libdir}/libpcp_mmv.a \ 111*4882a593Smuzhiyun ${libdir}/libpcp_mmv.so \ 112*4882a593Smuzhiyun ${libdir}/libpcp_mmv.so \ 113*4882a593Smuzhiyun ${includedir}/mmv_stats.h \ 114*4882a593Smuzhiyun ${includedir}/mmv_dev.h \ 115*4882a593Smuzhiyun ${datadir}/man/man3/mmv_* \ 116*4882a593Smuzhiyun ${datadir}/man/man5/mmv.5.gz \ 117*4882a593Smuzhiyun" 118*4882a593SmuzhiyunFILES:libpcp-import1 = " \ 119*4882a593Smuzhiyun ${libdir}/libpcp_import.so.1 \ 120*4882a593Smuzhiyun" 121*4882a593SmuzhiyunFILES:libpcp-pmda3 = " \ 122*4882a593Smuzhiyun ${libdir}/libpcp_pmda.so.3 \ 123*4882a593Smuzhiyun" 124*4882a593SmuzhiyunFILES:libpcp-pmda3-dev = " \ 125*4882a593Smuzhiyun ${includedir}/pmda.h \ 126*4882a593Smuzhiyun ${includedir}/pmdaroot.h \ 127*4882a593Smuzhiyun ${libdir}/libpcp_pmda.a \ 128*4882a593Smuzhiyun ${libdir}/libpcp_pmda.so \ 129*4882a593Smuzhiyun ${libdir}/pkgconfig/libpcp_pmda.pc \ 130*4882a593Smuzhiyun ${datadir}/man/man3/PMDA.3.gz \ 131*4882a593Smuzhiyun ${datadir}/man/man3/pmda* \ 132*4882a593Smuzhiyun" 133*4882a593SmuzhiyunFILES:libpcp-trace2 = " \ 134*4882a593Smuzhiyun ${libdir}/libpcp_trace.so.2 \ 135*4882a593Smuzhiyun" 136*4882a593SmuzhiyunFILES:libpcp-trace2-dev = " \ 137*4882a593Smuzhiyun ${includedir}/trace.h \ 138*4882a593Smuzhiyun ${includedir}/trace_dev.h \ 139*4882a593Smuzhiyun ${libdir}/libpcp_trace.a \ 140*4882a593Smuzhiyun ${libdir}/libpcp_trace.so \ 141*4882a593Smuzhiyun ${datadir}/man/man3/pmtrace* \ 142*4882a593Smuzhiyun" 143*4882a593SmuzhiyunFILES:libpcp-web1 = " \ 144*4882a593Smuzhiyun ${libdir}/libpcp_web.so.1 \ 145*4882a593Smuzhiyun" 146*4882a593SmuzhiyunFILES:libpcp-web1-dev = " \ 147*4882a593Smuzhiyun ${includedir}/pmhttp.h \ 148*4882a593Smuzhiyun ${includedir}/pmjson.h \ 149*4882a593Smuzhiyun ${libdir}/libpcp_web.a \ 150*4882a593Smuzhiyun ${libdir}/libpcp_web.so \ 151*4882a593Smuzhiyun ${datadir}/man/man3/pmhttp* \ 152*4882a593Smuzhiyun ${datadir}/man/man3/pmjson* \ 153*4882a593Smuzhiyun" 154*4882a593SmuzhiyunFILES:libpcp3 = " \ 155*4882a593Smuzhiyun ${libdir}/libpcp.so.3 \ 156*4882a593Smuzhiyun" 157*4882a593Smuzhiyun 158*4882a593SmuzhiyunFILES:${PN} = " \ 159*4882a593Smuzhiyun ${sysconfdir}/pcp \ 160*4882a593Smuzhiyun ${sysconfdir}/cron.d \ 161*4882a593Smuzhiyun ${sysconfdir}/init.d \ 162*4882a593Smuzhiyun ${libexecdir} \ 163*4882a593Smuzhiyun ${bindir} \ 164*4882a593Smuzhiyun ${datadir}/bash-completion \ 165*4882a593Smuzhiyun ${datadir}/pcp-gui \ 166*4882a593Smuzhiyun ${datadir}/zsh \ 167*4882a593Smuzhiyun ${systemd_system_unitdir}/ \ 168*4882a593Smuzhiyun ${libdir}/pcp/ \ 169*4882a593Smuzhiyun ${datadir}/pcp \ 170*4882a593Smuzhiyun ${libdir}/*.sh \ 171*4882a593Smuzhiyun ${datadir}/man \ 172*4882a593Smuzhiyun ${libdir}/rc-proc.sh.minimal \ 173*4882a593Smuzhiyun ${sysconfdir}/p* \ 174*4882a593Smuzhiyun ${sysconfdir}/s* \ 175*4882a593Smuzhiyun ${localstatedir}/lib/pcp/config \ 176*4882a593Smuzhiyun ${localstatedir}/lib/pcp/pmdas/ \ 177*4882a593Smuzhiyun ${localstatedir}/lib/pcp/pmns \ 178*4882a593Smuzhiyun ${libdir}/libpcp_fault.so.3 \ 179*4882a593Smuzhiyun" 180*4882a593Smuzhiyun 181*4882a593SmuzhiyunFILES:${PN}-export-zabbix-agent += " \ 182*4882a593Smuzhiyun ${libdir}/zabbix \ 183*4882a593Smuzhiyun ${sysconfdir}/zabbix \ 184*4882a593Smuzhiyun ${mandir}/man3/zbxpcp.3.gz \ 185*4882a593Smuzhiyun ${libdir}/zabbix \ 186*4882a593Smuzhiyun" 187*4882a593SmuzhiyunFILES:${PN}-testsuite = "${localstatedir}/lib/pcp/testsuite/" 188*4882a593SmuzhiyunFILES:python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}" 189*4882a593SmuzhiyunFILES:${PN}-dev += " \ 190*4882a593Smuzhiyun ${includedir}/pcp \ 191*4882a593Smuzhiyun ${libdir}/libpcp.a \ 192*4882a593Smuzhiyun ${libdir}/libpcp.so \ 193*4882a593Smuzhiyun ${localstatedir}/lib/pcp/pmdas/*/*.so \ 194*4882a593Smuzhiyun ${libexecdir}/pcp/bin/install-sh \ 195*4882a593Smuzhiyun ${libdir}/pkgconfig/libpcp.pc \ 196*4882a593Smuzhiyun ${libdir}/zabbix/modules/*.so \ 197*4882a593Smuzhiyun ${datadir}/man/man3/LOGIMPORT.3.gz \ 198*4882a593Smuzhiyun ${datadir}/man/man3/P* \ 199*4882a593Smuzhiyun ${datadir}/man/man3/Q* \ 200*4882a593Smuzhiyun ${datadir}/man/man3/__pm* \ 201*4882a593Smuzhiyun ${datadir}/man/man3/pmA* \ 202*4882a593Smuzhiyun ${datadir}/man/man3/pmC* \ 203*4882a593Smuzhiyun ${datadir}/man/man3/pmD* \ 204*4882a593Smuzhiyun ${datadir}/man/man3/pmE* \ 205*4882a593Smuzhiyun ${datadir}/man/man3/pmF* \ 206*4882a593Smuzhiyun ${datadir}/man/man3/pmG* \ 207*4882a593Smuzhiyun ${datadir}/man/man3/pmH* \ 208*4882a593Smuzhiyun ${datadir}/man/man3/pmI* \ 209*4882a593Smuzhiyun ${datadir}/man/man3/pmL* \ 210*4882a593Smuzhiyun ${datadir}/man/man3/pmM* \ 211*4882a593Smuzhiyun ${datadir}/man/man3/pmN* \ 212*4882a593Smuzhiyun ${datadir}/man/man3/pmO* \ 213*4882a593Smuzhiyun ${datadir}/man/man3/pmP* \ 214*4882a593Smuzhiyun ${datadir}/man/man3/pmR* \ 215*4882a593Smuzhiyun ${datadir}/man/man3/pmS* \ 216*4882a593Smuzhiyun ${datadir}/man/man3/pmT* \ 217*4882a593Smuzhiyun ${datadir}/man/man3/pmU* \ 218*4882a593Smuzhiyun ${datadir}/man/man3/pmW* \ 219*4882a593Smuzhiyun ${datadir}/man/man3/pmf* \ 220*4882a593Smuzhiyun ${datadir}/man/man3/pmg* \ 221*4882a593Smuzhiyun ${datadir}/man/man3/pmi* \ 222*4882a593Smuzhiyun ${datadir}/man/man3/pms* \ 223*4882a593Smuzhiyun ${datadir}/man/man3/pmt* \ 224*4882a593Smuzhiyun" 225*4882a593Smuzhiyun#| chkacc1.c:8:10: fatal error: localconfig.h: No such file or directory 226*4882a593Smuzhiyun#| 8 | #include "localconfig.h" 227*4882a593Smuzhiyun#| | ^~~~~~~~~~~~~~~ 228*4882a593SmuzhiyunPARALLEL_MAKE = "" 229