-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Chong Lu schreef op 16-04-14 08:51: > 1. default enable libwrap, perl and python bindings
A number of big distros are moving away from tcpwrappers, Arch has removed it years ago and fedora looked into it a while ago. Since tcpwrappers hasn't seen a release (or development) in years I think we should default it to off. regards, Koen > 2. rrdtool uses perl.real, perl.real doesn't know where the PERL5LIB > should be when prebuilts are used. Use the wrapper perl instead, perl > sets PERL5LIB and invokes perl.real 3. While using dash as /bin/sh, > subsequent commands in functions will not use the environment variables > passed to the function call line unless explicitly run "export ENV_VAR". > 4. delete unrecognized options: "--enable-local-libpng" and > "--enable-local-zlib" > > Signed-off-by: Chong Lu <[email protected]> --- > meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb | 127 > +++++++++++++++++++-- 1 file changed, 120 insertions(+), 7 deletions(-) > > diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb > b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb index > 533451f..422e22f 100644 --- > a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb +++ > b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb @@ -5,6 +5,7 @@ > LICENSE = "GPLv2" LIC_FILES_CHKSUM = > "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0" > > DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2" +DEPENDS_${PN}-perl > = "perl-module-lib perl-module-dynaloader" > > PR = "r2" > > @@ -15,25 +16,137 @@ SRC_URI = > "http://oss.oetiker.ch/rrdtool/pub/rrdtool-${PV}.tar.gz \ SRC_URI[md5sum] > = "ffe369d8921b4dfdeaaf43812100c38f" SRC_URI[sha256sum] = > "956aaf431c955ba88dd7d98920ade3a8c4bad04adb1f9431377950a813a7af11" > > -inherit autotools gettext +inherit autotools gettext pythonnative > perlnative python-dir > > EXTRA_AUTORECONF = "-I m4" > > -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "python libwrap perl" + > +PACKAGECONFIG[python] = "--enable-python=yes \ > +am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages > \ > +am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\ > > +--disable-python,python," > + +PACKAGECONFIG[perl] = \ +"--enable-perl=yes > --with-perl-options='INSTALLDIRS="vendor"' \ +ac_cv_path_PERL_CC='${CC}', > \ +--disable-perl,perl," + +PACKAGECONFIG[libwrap] = > ",--disable-libwrap,tcp-wrappers,libwrap" PACKAGECONFIG[dbi] = > "--enable-libdbi,--disable-libdbi,libdbi" > > EXTRA_OECONF = " \ --enable-shared \ - --enable-local-libpng \ - > --enable-local-zlib \ - --disable-libwrap \ --program-prefix='' \ > rd_cv_ieee_works=yes \ - --disable-perl \ - --disable-python \ > --disable-ruby \ --disable-lua \ --disable-rpath \ " > > +# don't use perl.real, this results in break issues with prebuilts since > perl.real doesn't +# know where the PERL5LIB is... +# use wrapper perl > instead +EXTRA_OEMAKE = "PERL=${STAGING_BINDIR_NATIVE}/perl-native/perl > FULLPERL=${STAGING_BINDIR_NATIVE}/perl-native/perl" + +export BUILD_SYS > +export HOST_SYS +export STAGING_LIBDIR +export STAGING_INCDIR + > +do_configure() { + #fix the pkglib problem with newer automake + #perl + > sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \ + > ${S}/bindings/perl-shared/Makefile.PL + + #python + sed -i -e > '/PYTHON_INCLUDES="-I${/c \ + > PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \ + > ${S}/m4/acinclude.m4 + #remove the hardcoded $(libdir) rpath + sed -i > -e > 's|--rpath=$(libdir)||g' ${S}/bindings/Makefile.am + + > autotools_do_configure + + perl_version=`perl -v 2>/dev/null | \ + > sed -n 's/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p'` + + > #modify python sitepkg + #remove the dependency of perl-shared:Makefile + > #or perl-shared/Makefile will be regenerated + #if any code touch > bindings/Makefile after below perl bindings code + sed -i -e > "s:\$(PYTHON) setup.py install:\$(PYTHON) setup.py install \ + > --install-lib=${D}${PYTHON_SITEPACKAGES_DIR}:" \ + -e > "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \ + > ${S}/bindings/Makefile + + #redo the perl bindings + ( + cd > bindings/perl-shared; + perl -I${STAGING_LIBDIR}/perl/$perl_version > Makefile.PL INSTALLDIRS="vendor" + INSTALLPRIVLIB="abc"; + sed -i > -e > "s| ${libdir}/perl/| ${STAGING_LIBDIR}/perl/|g" Makefile; + + cd > ../../bindings/perl-piped; + perl -I${STAGING_LIBDIR}/perl/$perl_version > Makefile.PL INSTALLDIRS="vendor"; + sed -i -e "s| ${libdir}/perl/| > ${STAGING_LIBDIR}/perl/|g" Makefile; + ) + + #change the interpreter > in > file + sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = > /usr/bin/perl|g" \ + ${S}/examples/Makefile + sed -i -e > "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \ + > ${S}/examples/*.pl +} + +python populate_packages_prepend() { + def > fill_more(name, dbg=True, rdep=None): + if name is None or > name.strip() == "": + return + + > fpack=d.getVar('PACKAGES') or "" + fpack="${PN}-" + name + " " + > fpack + if dbg: + fpack="${PN}-" + name + "-dbg" + " " > + fpack + d.setVar('PACKAGES', fpack) + if rdep is not > None: + prdep=d.getVar('RDEPENDS_${PN}-' + name) or "" + > prdep=rdep + " " + prdep + d.setVar('RDEPENDS_${PN}-' + name, > prdep) + + prdep=d.getVar('RDEPENDS_${PN}-' + name) or "" + > bb.debug(1, "RDEPENDS_${PN}-" + name + "=" + prdep) + + > conf=(d.getVar('PACKAGECONFIG', True) or "").split() + > pack=d.getVar('PACKAGES') or "" + bb.debug(1, "PACKAGECONFIG=%s" % > conf) + bb.debug(1, "PACKAGES1=%s" % pack ) + + if "perl" in conf > : + fill_more("perl") + + if "python" in conf: + > fill_more("python") + + pack=d.getVar('PACKAGES', True) or "" + > bb.debug(1, "PACKAGES after=%s" % pack) + + #debug code + > #prdep=d.getVar('RDEPENDS_${PN}') or "" + #bb.debug(1, > "RDEPENDS_${PN}" + "=" + prdep) + #prdep=d.getVar('RDEPENDS') or "" + > #bb.debug(1, "RDEPENDS" + "=" + prdep) +} + +FILES_${PN}-doc += > "${datadir}/examples" + +DESCRIPTION_${PN}-perl = \ +"The ${PN}-perl > package includes RRDtool bindings for perl." +FILES_${PN}-perl = > "${libdir}/perl/vendor_perl/* ${datadir}/${PN}/examples" > +FILES_${PN}-perl-dbg = "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug" > > +DESCRIPTION_${PN}-python = \ +"The ${PN}-python package includes RRDtool > bindings for python." +FILES_${PN}-python = > "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*" > +FILES_${PN}-python-dbg = > "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug" > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) Comment: GPGTools - http://gpgtools.org iD8DBQFTTi4jMkyGM64RGpERAlEyAJ9oaVhwjiOoYzYwiS0eoXyrVQRb7gCfdBMQ F7N3OIaJp8iKhWSvSdk/m0Q= =Ng7E -----END PGP SIGNATURE----- -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
