[oe] [PATCH] rrdtool: enable libwrap, perl and python bindings
Koen Kooi
koen at dominion.thruhere.net
Wed Apr 16 07:15:47 UTC 2014
-----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 <Chong.Lu at windriver.com> ---
> 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-----
More information about the Openembedded-devel
mailing list