1*4882a593SmuzhiyunSUMMARY = "High performance data logging and graphing system for time series data" 2*4882a593SmuzhiyunHOMEPAGE = "http://oss.oetiker.ch/rrdtool/" 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunLICENSE = "GPL-2.0-only" 5*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676" 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunDEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python3-setuptools-native" 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunSRCREV = "3af04acd38bbc61bbdcdd931dcf234c971aa5336" 10*4882a593SmuzhiyunPV = "1.8.0" 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunSRC_URI = "\ 13*4882a593Smuzhiyun git://github.com/oetiker/rrdtool-1.x.git;branch=master;protocol=http;;protocol=https \ 14*4882a593Smuzhiyun" 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunS = "${WORKDIR}/git" 17*4882a593Smuzhiyun 18*4882a593Smuzhiyuninherit cpan autotools-brokensep gettext pkgconfig python3native python3-dir systemd 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunBBCLASSEXTEND = "native" 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunSYSTEMD_PACKAGES = "rrdcached" 23*4882a593SmuzhiyunSYSTEMD_SERVICE:rrdcached = "rrdcached.socket rrdcached.service" 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunEXTRA_AUTORECONF = "-I m4 --exclude=autopoint" 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunPACKAGECONFIG ??= "perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunPACKAGECONFIG[python] = "--enable-python=yes \ 30*4882a593Smuzhiyunam_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \ 31*4882a593Smuzhiyunam_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\ 32*4882a593Smuzhiyun--disable-python,python," 33*4882a593Smuzhiyun 34*4882a593SmuzhiyunPACKAGECONFIG[perl] = \ 35*4882a593Smuzhiyun"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \ 36*4882a593Smuzhiyunac_cv_path_PERL_CC='${CC}', \ 37*4882a593Smuzhiyun--disable-perl,perl," 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunPACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi" 40*4882a593Smuzhiyun 41*4882a593SmuzhiyunPACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunEXTRA_OECONF = " \ 44*4882a593Smuzhiyun --enable-shared \ 45*4882a593Smuzhiyun --disable-libwrap \ 46*4882a593Smuzhiyun --program-prefix='' \ 47*4882a593Smuzhiyun rd_cv_ieee_works=yes \ 48*4882a593Smuzhiyun --disable-ruby \ 49*4882a593Smuzhiyun --disable-lua \ 50*4882a593Smuzhiyun --disable-tcl \ 51*4882a593Smuzhiyun --disable-rpath \ 52*4882a593Smuzhiyun --enable-nls=${USE_NLS} \ 53*4882a593Smuzhiyun --disable-docs \ 54*4882a593Smuzhiyun" 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunexport STAGING_LIBDIR 57*4882a593Smuzhiyunexport STAGING_INCDIR 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun# emulate cpan_do_configure 60*4882a593SmuzhiyunEXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" ' 61*4882a593Smuzhiyun# Avoid do_configure error on some hosts 62*4882a593Smuzhiyun 63*4882a593Smuzhiyundo_configure() { 64*4882a593Smuzhiyun unset PERLHOSTLIB 65*4882a593Smuzhiyun #fix the pkglib problem with newer automake 66*4882a593Smuzhiyun #perl 67*4882a593Smuzhiyun sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \ 68*4882a593Smuzhiyun ${S}/bindings/perl-shared/Makefile.PL 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun #python 71*4882a593Smuzhiyun sed -i -e '/PYTHON_INCLUDES="-I${/c \ 72*4882a593Smuzhiyun PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \ 73*4882a593Smuzhiyun ${S}/m4/acinclude.m4 74*4882a593Smuzhiyun #remove the useless RPATH from the rrdtool.so 75*4882a593Smuzhiyun sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun autotools_do_configure 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #modify python sitepkg 80*4882a593Smuzhiyun #remove the dependency of perl-shared:Makefile 81*4882a593Smuzhiyun #or perl-shared/Makefile will be regenerated 82*4882a593Smuzhiyun #if any code touch bindings/Makefile after below perl bindings code 83*4882a593Smuzhiyun sed -i -e "s:python/setup.py install:python/setup.py install \ 84*4882a593Smuzhiyun --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \ 85*4882a593Smuzhiyun -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \ 86*4882a593Smuzhiyun ${B}/bindings/Makefile 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun #redo the perl bindings 89*4882a593Smuzhiyun ( 90*4882a593Smuzhiyun cd ${S}/bindings/perl-shared; 91*4882a593Smuzhiyun perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc"; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun cd ../../bindings/perl-piped; 94*4882a593Smuzhiyun perl Makefile.PL INSTALLDIRS="vendor"; 95*4882a593Smuzhiyun ) 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun #change the interpreter in file 98*4882a593Smuzhiyun sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \ 99*4882a593Smuzhiyun ${B}/examples/Makefile 100*4882a593Smuzhiyun sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \ 101*4882a593Smuzhiyun ${B}/examples/*.pl 102*4882a593Smuzhiyun} 103*4882a593Smuzhiyun 104*4882a593SmuzhiyunPACKAGES =+ "${PN}-perl ${PN}-python" 105*4882a593SmuzhiyunPACKAGES =+ "rrdcached" 106*4882a593Smuzhiyun 107*4882a593SmuzhiyunDESCRIPTION:rrdcached = \ 108*4882a593Smuzhiyun"The rrdcached package contains the data caching daemon for RRDtool." 109*4882a593Smuzhiyun 110*4882a593SmuzhiyunFILES:rrdcached = "${bindir}/rrdcached \ 111*4882a593Smuzhiyun ${systemd_unitdir}/system/rrdcached.service \ 112*4882a593Smuzhiyun ${systemd_unitdir}/system/rrdcached.socket" 113*4882a593Smuzhiyun 114*4882a593SmuzhiyunFILES:${PN}-doc += "${datadir}/rrdtool/examples" 115*4882a593Smuzhiyun 116*4882a593SmuzhiyunDESCRIPTION:${PN}-perl = \ 117*4882a593Smuzhiyun"The ${PN}-perl package includes RRDtool bindings for perl." 118*4882a593SmuzhiyunFILES:${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \ 119*4882a593Smuzhiyun ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*" 120*4882a593SmuzhiyunRDEPENDS:${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \ 121*4882a593Smuzhiyun perl-module-io-file perl-module-ipc-open2 perl-module-io-socket" 122*4882a593Smuzhiyun 123*4882a593SmuzhiyunDESCRIPTION:${PN}-python = \ 124*4882a593Smuzhiyun"The ${PN}-python package includes RRDtool bindings for python." 125*4882a593SmuzhiyunFILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*" 126*4882a593SmuzhiyunRDEPENDS:${PN}-python = "python3" 127*4882a593Smuzhiyun 128*4882a593SmuzhiyunFILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \ 129*4882a593Smuzhiyun ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug" 130