bitbake.conf: Define USRBINPATH globally instead of individually

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.

(From OE-Core rev: cf63d9068c3a8c635dfc240d30dfff278be9b0e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2012-07-18 17:38:05 +00:00
parent 63f545b850
commit ac7a031182
8 changed files with 19 additions and 37 deletions

View File

@ -66,6 +66,10 @@ localstatedir_nativesdk = "/var"
# := 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.

View File

@ -77,9 +77,6 @@ DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through
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}
@ -87,7 +84,7 @@ do_install_append () {
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
}

View File

@ -1,6 +1,6 @@
require glib.inc
PR = "r1"
PR = "r2"
PE = "1"
DEPENDS += "libffi python-argparse-native zlib"
@ -22,15 +22,12 @@ SRC_URI[sha256sum] = "a5d742a4fda22fb6975a8c0cfcd2499dd1c809b8afd4ef709bda4d11b1
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() {
@ -44,6 +41,6 @@ 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
}

View File

@ -31,7 +31,6 @@ EXTRA_OECONF = "--disable-debug --enable-included-printf=no ${CORECONF}"
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 \

View File

@ -17,10 +17,6 @@ SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.bz2 \
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
@ -28,8 +24,8 @@ do_install_append() {
# 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

View File

@ -34,10 +34,6 @@ PATHFIXPATCH = "file://path_prog_fixes.patch"
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 \
@ -56,8 +52,8 @@ do_install () {
# 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

View File

@ -9,15 +9,12 @@ PR = "r1"
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
}

View File

@ -18,10 +18,6 @@ DEPENDS_virtclass-native = ""
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 = ""
@ -43,7 +39,7 @@ do_install_append() {
# 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
}
@ -53,7 +49,7 @@ do_install_append_virtclass-native() {
# 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