Many recipes are now having to define PERLPATH and PYTHONPATH variables.
Creating USRBINPATH in bitbake.conf means we can remove all these lines
from the many recipes now needing this and simplify the code changes
needed in each case, reducing the chance of errors being introduced.
Also fixup glib python binary location issue and fix function indentation.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
# := is used carefully here
#
target_datadir := "${datadir}"
+# Used to find env/perl/python
+USRBINPATH = "${bindir}"
+USRBINPATH_class-native = "/usr/bin"
+USRBINPATH_class-nativesdk = "/usr/bin"
##################################################################
# Architecture-dependent build variables.
inherit libc-common multilib_header
-PERLPATH = "${bindir}/env perl"
-PERLPATH_virtclass-nativesdk = "/usr/bin/env perl"
-
do_install_append () {
rm -f ${D}${sysconfdir}/localtime
rm -rf ${D}${localstatedir}
oe_multilib_header bits/syscall.h
if [ -f ${D}${bindir}/mtrace ]; then
- sed -i -e '1s,#!.*perl,#! ${PERLPATH},' -e '2s,exec.*perl,exec ${PERLPATH},' ${D}${bindir}/mtrace
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace
fi
}
require glib.inc
-PR = "r1"
+PR = "r2"
PE = "1"
DEPENDS += "libffi python-argparse-native zlib"
SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch"
BBCLASSEXTEND = "native nativesdk"
-PERLPATH = "${bindir}/env perl"
-PERLPATH_virtclass-native = "/usr/bin/env perl"
-PERLPATH_virtclass-nativesdk = "/usr/bin/env perl"
-
do_configure_prepend() {
- # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough, because it calls gtkdocize (not provided by gtk-doc-native)
- sed -i '/^docs/d' ${S}/configure.ac
- sed -i 's/SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po docs/SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po/g' ${S}/Makefile.am
- sed -i -e "s:TEST_PROGS += gdbus-serialization::g" ${S}/gio/tests/Makefile.am
+ # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough, because it calls gtkdocize (not provided by gtk-doc-native)
+ sed -i '/^docs/d' ${S}/configure.ac
+ sed -i 's/SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po docs/SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po/g' ${S}/Makefile.am
+ sed -i -e "s:TEST_PROGS += gdbus-serialization::g" ${S}/gio/tests/Makefile.am
+ sed -i -e '1s,#!.*,#!${USRBINPATH}/env python,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
}
do_install_append() {
# Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
if [ -f ${D}${bindir}/glib-mkenums ]; then
- sed -i -e '1s,#!.*perl,#! ${PERLPATH},' ${D}${bindir}/glib-mkenums
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/glib-mkenums
fi
}
EXTRA_OECONF_virtclass-native = "${CORECONF}"
EXTRA_OECONF_linuxstdbase = "--enable-included-printf=no ${CORECONF}"
-
FILES_${PN} = "${libdir}/lib*${SOLIBS} ${datadir}/glib-2.0/schemas \
${datadir}/glib-2.0/gettext/mkinstalldirs ${datadir}/glib-2.0/gettext/po/Makefile.in.in"
FILES_${PN}-dev += "${libdir}/glib-2.0/include \
inherit autotools
-PERLPATH = "${bindir}/perl"
-PERLPATH_virtclass-native = "/usr/bin/perl"
-PERLPATH_virtclass-nativesdk = "/usr/bin/perl"
-
do_install_append() {
rm -rf ${D}${datadir}/emacs
# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
for i in autoheader autom4te autoreconf autoscan autoupdate ifnames; do
if [ -f ${D}${bindir}/$i ]; then
- sed -i -e '1s,#!.*perl,#! ${PERLPATH},' \
- -e 's,exec .*/bin/perl \(.*\) exec .*/bin/perl \(.*\),exec ${PERLPATH} \1 exec ${PERLPATH} \2,' \
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/perl,' \
+ -e 's,exec .*/bin/perl \(.*\) exec .*/bin/perl \(.*\),exec ${USRBINPATH}/perl \1 exec ${USRBINPATH}/perl \2,' \
${D}${bindir}/$i
fi
done
PATHFIXPATCH_virtclass-native = ""
PATHFIXPATCH_virtclass-nativesdk = ""
-PERLPATH = "${bindir}/perl"
-PERLPATH_virtclass-native = "/usr/bin/perl"
-PERLPATH_virtclass-nativesdk = "/usr/bin/perl"
-
SRC_URI += "${PATHFIXPATCH} \
file://prefer-cpio-over-pax-for-ustar-archives.patch \
file://python-libdir.patch \
# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
for i in aclocal aclocal-1.11 automake automake-1.11; do
if [ -f ${D}${bindir}/$i ]; then
- sed -i -e '1s,#!.*perl,#! ${PERLPATH},' \
- -e 's,exec .*/bin/perl \(.*\) exec .*/bin/perl \(.*\),exec ${PERLPATH} \1 exec ${PERLPATH} \2,' \
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/perl,' \
+ -e 's,exec .*/bin/perl \(.*\) exec .*/bin/perl \(.*\),exec ${USRBINPATH}/perl \1 exec ${USRBINPATH}/perl \2,' \
${D}${bindir}/$i
fi
done
CACHED_CONFIGUREVARS += "ac_cv_path_BASH=${base_bindir}/bash"
-PERLPATH = "${bindir}/env perl"
-PERLPATH_virtclass-nativesdk = "/usr/bin/env perl"
-
# fix build-distro specific perl path in the target perl scripts
do_install_append() {
for perlscript in ${D}${datadir}/quilt/scripts/remove-trailing-ws ${D}${datadir}/quilt/scripts/dependency-graph ${D}${datadir}/quilt/scripts/edmail ${D}${bindir}/guards
do
if [ -f $perlscript ]; then
- sed -i -e '1s,#!.*perl,#! ${PERLPATH},' $perlscript
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' $perlscript
fi
done
}
inherit autotools
-PERLPATH = "${bindir}/perl"
-PERLPATH_virtclass-native = "/usr/bin/env perl"
-PERLPATH_virtclass-nativesdk = "/usr/bin/env perl"
-
EXTRA_OECONF = "--without-x"
PARALLEL_MAKE = ""
# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
for i in afmtodit mmroff; do
if [ -f ${D}${bindir}/$i ]; then
- sed -i -e '1s,#!.*perl,#! ${PERLPATH},' ${D}${bindir}/$i
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i
fi
done
}
# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
for i in afmtodit mmroff; do
if [ -f ${D}${bindir}/$i ]; then
- sed -i -e '1s,#!.*perl,#! ${PERLPATH},' ${D}${bindir}/$i
+ sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i
fi
done