xref: /openbmc/openbmc/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb (revision 8460358c3d24c71d9d38fd126c745854a6301564)
19aee5003SAndrew GeisslerSUMMARY = "High performance data logging and graphing system for time series data"
29aee5003SAndrew GeisslerHOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
39aee5003SAndrew Geissler
49aee5003SAndrew GeisslerLICENSE = "GPL-2.0-only"
59aee5003SAndrew GeisslerLIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676"
69aee5003SAndrew Geissler
787f5cff0SAndrew GeisslerDEPENDS = "libpng zlib glib-2.0 libxml2 groff-native python3-setuptools-native"
89aee5003SAndrew Geissler
99aee5003SAndrew GeisslerSRCREV = "3af04acd38bbc61bbdcdd931dcf234c971aa5336"
109aee5003SAndrew GeisslerPV = "1.8.0"
119aee5003SAndrew Geissler
129aee5003SAndrew GeisslerSRC_URI = "\
138e7b46e2SPatrick Williams    git://github.com/oetiker/rrdtool-1.x.git;protocol=https;branch=master \
14edff4923SAndrew Geissler    file://b76e3c578f1e9f582e9c28f50d82b1f569602075.patch \
159aee5003SAndrew Geissler"
169aee5003SAndrew Geissler
179aee5003SAndrew GeisslerS = "${WORKDIR}/git"
189aee5003SAndrew Geissler
199aee5003SAndrew Geisslerinherit cpan autotools-brokensep gettext pkgconfig python3native python3-dir systemd
209aee5003SAndrew Geissler
219aee5003SAndrew GeisslerBBCLASSEXTEND = "native"
229aee5003SAndrew Geissler
239aee5003SAndrew GeisslerSYSTEMD_PACKAGES = "rrdcached"
249aee5003SAndrew GeisslerSYSTEMD_SERVICE:rrdcached = "rrdcached.socket rrdcached.service"
259aee5003SAndrew Geissler
269aee5003SAndrew GeisslerEXTRA_AUTORECONF = "-I m4 --exclude=autopoint"
279aee5003SAndrew Geissler
2887f5cff0SAndrew GeisslerPACKAGECONFIG ??= "perl graph ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
299aee5003SAndrew Geissler
309aee5003SAndrew GeisslerPACKAGECONFIG[python] = "--enable-python=yes \
319aee5003SAndrew Geissleram_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
329aee5003SAndrew Geissleram_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
339aee5003SAndrew Geissler--disable-python,python,"
349aee5003SAndrew Geissler
359aee5003SAndrew GeisslerPACKAGECONFIG[perl] = \
369aee5003SAndrew Geissler"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \
379aee5003SAndrew Geisslerac_cv_path_PERL_CC='${CC}',  \
389aee5003SAndrew Geissler--disable-perl,perl,"
399aee5003SAndrew Geissler
409aee5003SAndrew GeisslerPACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
419aee5003SAndrew Geissler
429aee5003SAndrew GeisslerPACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
439aee5003SAndrew Geissler
4487f5cff0SAndrew GeisslerPACKAGECONFIG[graph] = "--enable-rrd_graph,--disable-rrd_graph,pango cairo"
4587f5cff0SAndrew Geissler
469aee5003SAndrew GeisslerEXTRA_OECONF = " \
479aee5003SAndrew Geissler    --enable-shared \
489aee5003SAndrew Geissler    --disable-libwrap \
499aee5003SAndrew Geissler    --program-prefix='' \
509aee5003SAndrew Geissler    rd_cv_ieee_works=yes \
519aee5003SAndrew Geissler    --disable-ruby \
529aee5003SAndrew Geissler    --disable-lua \
539aee5003SAndrew Geissler    --disable-tcl \
549aee5003SAndrew Geissler    --disable-rpath \
559aee5003SAndrew Geissler    --enable-nls=${USE_NLS} \
569aee5003SAndrew Geissler    --disable-docs \
579aee5003SAndrew Geissler"
589aee5003SAndrew Geissler
599aee5003SAndrew Geisslerexport STAGING_LIBDIR
609aee5003SAndrew Geisslerexport STAGING_INCDIR
619aee5003SAndrew Geissler
629aee5003SAndrew Geissler# emulate cpan_do_configure
63edff4923SAndrew GeisslerEXTRA_OEMAKE = ' CC="${CC} -Wno-incompatible-pointer-types" PERL5LIB="${PERL_ARCHLIB}" '
649aee5003SAndrew Geissler# Avoid do_configure error on some hosts
659aee5003SAndrew Geissler
669aee5003SAndrew Geisslerdo_configure() {
679aee5003SAndrew Geissler    unset PERLHOSTLIB
689aee5003SAndrew Geissler    #fix the pkglib problem with newer automake
699aee5003SAndrew Geissler    #perl
709aee5003SAndrew Geissler    sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
719aee5003SAndrew Geissler        ${S}/bindings/perl-shared/Makefile.PL
729aee5003SAndrew Geissler
739aee5003SAndrew Geissler    #python
749aee5003SAndrew Geissler    sed -i -e '/PYTHON_INCLUDES="-I${/c \
759aee5003SAndrew Geissler    PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
769aee5003SAndrew Geissler        ${S}/m4/acinclude.m4
779aee5003SAndrew Geissler    #remove the useless RPATH from the rrdtool.so
789aee5003SAndrew Geissler    sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am
799aee5003SAndrew Geissler
809aee5003SAndrew Geissler    autotools_do_configure
819aee5003SAndrew Geissler
829aee5003SAndrew Geissler    #modify python sitepkg
839aee5003SAndrew Geissler    #remove the dependency of perl-shared:Makefile
849aee5003SAndrew Geissler    #or perl-shared/Makefile will be regenerated
859aee5003SAndrew Geissler    #if any code touch bindings/Makefile after below perl bindings code
869aee5003SAndrew Geissler    sed -i -e "s:python/setup.py install:python/setup.py install \
879aee5003SAndrew Geissler        --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \
889aee5003SAndrew Geissler        -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
899aee5003SAndrew Geissler        ${B}/bindings/Makefile
909aee5003SAndrew Geissler
919aee5003SAndrew Geissler    #redo the perl bindings
929aee5003SAndrew Geissler    (
939aee5003SAndrew Geissler    cd ${S}/bindings/perl-shared;
949aee5003SAndrew Geissler    perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
959aee5003SAndrew Geissler
969aee5003SAndrew Geissler    cd ../../bindings/perl-piped;
979aee5003SAndrew Geissler    perl Makefile.PL INSTALLDIRS="vendor";
989aee5003SAndrew Geissler    )
999aee5003SAndrew Geissler
1009aee5003SAndrew Geissler    #change the interpreter in file
1019aee5003SAndrew Geissler    sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
1029aee5003SAndrew Geissler        ${B}/examples/Makefile
1039aee5003SAndrew Geissler    sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
1049aee5003SAndrew Geissler        ${B}/examples/*.pl
1059aee5003SAndrew Geissler}
1069aee5003SAndrew Geissler
107edff4923SAndrew Geisslerdo_install:append:class-native() {
108edff4923SAndrew Geissler    # Replace the shebang line in cgi-demo.cgi
109edff4923SAndrew Geissler    sed -i '1s|^.*$|#!/usr/bin/env rrdcgi|' ${D}${datadir}/rrdtool/examples/cgi-demo.cgi
110edff4923SAndrew Geissler}
111edff4923SAndrew Geissler
1129aee5003SAndrew GeisslerPACKAGES =+ "${PN}-perl ${PN}-python"
1139aee5003SAndrew GeisslerPACKAGES =+ "rrdcached"
1149aee5003SAndrew Geissler
1159aee5003SAndrew GeisslerDESCRIPTION:rrdcached = \
1169aee5003SAndrew Geissler"The rrdcached package contains the data caching daemon for RRDtool."
1179aee5003SAndrew Geissler
1189aee5003SAndrew GeisslerFILES:rrdcached = "${bindir}/rrdcached \
1199aee5003SAndrew Geissler    ${systemd_unitdir}/system/rrdcached.service \
1209aee5003SAndrew Geissler    ${systemd_unitdir}/system/rrdcached.socket"
1219aee5003SAndrew Geissler
1229aee5003SAndrew GeisslerFILES:${PN}-doc += "${datadir}/rrdtool/examples"
1239aee5003SAndrew Geissler
1249aee5003SAndrew GeisslerDESCRIPTION:${PN}-perl = \
1259aee5003SAndrew Geissler"The ${PN}-perl package includes RRDtool bindings for perl."
1269aee5003SAndrew GeisslerFILES:${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \
1279aee5003SAndrew Geissler    ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
1289aee5003SAndrew GeisslerRDEPENDS:${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
1299aee5003SAndrew Geissler    perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
1309aee5003SAndrew Geissler
1319aee5003SAndrew GeisslerDESCRIPTION:${PN}-python = \
1329aee5003SAndrew Geissler"The ${PN}-python package includes RRDtool bindings for python."
133edff4923SAndrew GeisslerFILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
1349aee5003SAndrew GeisslerRDEPENDS:${PN}-python = "python3"
1359aee5003SAndrew Geissler
1369aee5003SAndrew GeisslerFILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
137edff4923SAndrew Geissler    ${PYTHON_SITEPACKAGES_DIR}/.debug"
138*8460358cSPatrick Williams
139*8460358cSPatrick Williams# http://errors.yoctoproject.org/Errors/Details/766911/
140*8460358cSPatrick Williams# rrd_tune.c:239:35: error: passing argument 3 of 'optparse_init' from incompatible pointer type [-Wincompatible-pointer-types]
141*8460358cSPatrick WilliamsCFLAGS += "-Wno-error=incompatible-pointer-types"
142