Optionally trade required_utils for -nativebuilds
v2 cover Optionally trade required_utils for -nativebuilds
Hey all,
As I said in another thread, today we depend on a few more host utilities being installed on the host than oe.dev does. This is an attempt to fix that a bit and improve on the situation at the same time. First up is adding a test for mercurial-native to sanity.bbclass since we don't have any hg:// URIs at the moment and dropping from the default ASSUME_PROVIDED list. Next up is help2man-native. We now only ship the GPLv3 version as a -native recipe. This retains a "don't re-conf" do_configure and an expanded comment that explains that if we did so we would need perlnative here. Second, I've tested this with qemux86 and core-image-sato and it still all builds and works as much as it has been for me wrt tests. Finally, in the commit message I said avoiding perl-native problem and what I'm speaking of is that since I put help2man-native in with all of the autotools deps, adding perlnative to the inherits list would bring perl in for everything. We can punt on this by just not adding target help2man for now.
v2: Move mercurial-native recipe to meta-oe, GPLv2 version of help2man-native
The following changes since commit e66c2999afa2b3efbce8bb46c89f9db5e15f35c7:
Saul Wold (1):
libx11: ensure nativesdk uses correct DEPENDS and XCB flags
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib trini/add-more-native-recipes-v2
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=trini/add-more-native-recipes-v2
Tom Rini (4):
bitbake.conf, sanity.bbclass: Make mercurial-native optional
help2man-native: Add 1.38.2
sanity.bbclass: Add help2man-native to ASSUME_PROVIDED if found autotools.bbclass: Add help2man-native to the main DEPENDS tree
meta/classes/autotools.bbclass | 4 +- meta/classes/sanity.bbclass | 10 +++++++- meta/conf/bitbake.conf | 1 - .../help2man/help2man-native_1.38.2.bb | 25 ++++++++++++++++++++ 4 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb
PATCH v2 1/4 bitbake.conf, sanity.bbclass: Make mercurial-native optional
Drop mercurial-native from the initial ASSUME_PROVIDED list and instead only add it if we find 'hg' is installed.
--- meta/classes/sanity.bbclass | 6 +++++- meta/conf/bitbake.conf | 1 - 2 files changed, 5 insertions(+), 2 deletions(-)
meta/classes/sanity.bbclass +5 -1
@@ -209,7 +209,7 @@ def check_sanity(e): if not check_app_exists('${BUILD_PREFIX}g++', e.data): missing = missing + "C++ Compiler (%sg++)," % data.getVar("BUILD_PREFIX", e.data, True) - required_utilities = "patch help2man diffstat texi2html makeinfo cvs svn bzip2 tar gzip gawk hg chrpath wget cpio" + required_utilities = "patch help2man diffstat texi2html makeinfo cvs svn bzip2 tar gzip gawk chrpath wget cpio" # qemu-native needs gcc 3.x if "qemu-native" not in assume_provided and "gcc3-native" in assume_provided:
@@ -243,6 +243,10 @@ def check_sanity(e): if not check_app_exists( util, e.data ): missing = missing + "%s," % util + # If we've found 'hg', add mercurial-native to ASSUME_PROVIDED. + if check_app_exists( "hg", e.data ): + bb.data.setVar('ASSUME_PROVIDED', data.getVar('ASSUME_PROVIDED', e.data , True) + "mercurial-native", e.data) + if missing != "": missing = missing.rstrip(',') messages = messages + "Please install following missing utilities: %s\n" % missing
meta/conf/bitbake.conf +0 -1
@@ -132,7 +132,6 @@ ASSUME_PROVIDED = "\ cvs-native \ grep-native \ diffstat-native \ - mercurial-native \ patch-native \ perl-native-runtime \ python-native-runtime \
Signature · 1 line
1.7.0.4
PATCH v2 2/4 help2man-native: Add 1.38.2
In reply to Tom RiniThis is a 'side port' of current oe.dev versions. PR is kept in sync but we drop out the target recipes in order to punt on potential perl problems. Here we do re-configure as we don't have a dance with perl-native to deal with.
--- .../help2man/help2man-native_1.38.2.bb | 25 ++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +25 -0
@@ -0,0 +1,25 @@ +DESCRIPTION = "Program to create simple man pages" +SECTION = "devel" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "autoconf-native automake-native" +PR = "r2" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "426671c6fe79e5ef2233303367eab5a6" +SRC_URI[sha256sum] = "952c29561bce8b233aa10af7f0e0c79c8243712810bf8ddf01e6efd82ce250d1" + +inherit autotools native + +EXTRA_OECONF = "--disable-nls" + +# We don't want to reconfigure things as it would require 'perlnative' to be +# used. +do_configure() { + oe_runconf +} + +do_install_append () { + # Make sure we use /usr/bin/env perl + sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man +}
Signature · 1 line
1.7.0.4
PATCH v2 3/4 sanity.bbclass: Add help2man-native to ASSUME_PROVIDED if found
In reply to Tom Rini--- meta/classes/sanity.bbclass | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
meta/classes/sanity.bbclass +5 -1
@@ -209,7 +209,7 @@ def check_sanity(e): if not check_app_exists('${BUILD_PREFIX}g++', e.data): missing = missing + "C++ Compiler (%sg++)," % data.getVar("BUILD_PREFIX", e.data, True) - required_utilities = "patch help2man diffstat texi2html makeinfo cvs svn bzip2 tar gzip gawk chrpath wget cpio" + required_utilities = "patch diffstat texi2html makeinfo cvs svn bzip2 tar gzip gawk chrpath wget cpio" # qemu-native needs gcc 3.x if "qemu-native" not in assume_provided and "gcc3-native" in assume_provided:
@@ -247,6 +247,10 @@ def check_sanity(e): if check_app_exists( "hg", e.data ): bb.data.setVar('ASSUME_PROVIDED', data.getVar('ASSUME_PROVIDED', e.data , True) + "mercurial-native", e.data) + # If we've found 'help2man', add help2man-native to ASSUME_PROVIDED. + if check_app_exists( "help2man", e.data ): + bb.data.setVar('ASSUME_PROVIDED', data.getVar('ASSUME_PROVIDED', e.data , True) + "help2man-native", e.data) + if missing != "": missing = missing.rstrip(',') messages = messages + "Please install following missing utilities: %s\n" % missing
Signature · 1 line
1.7.0.4
PATCH v2 4/4 autotools.bbclass: Add help2man-native to the main DEPENDS tree
In reply to Tom RiniWith help2man no longer being required by sanity.bbclass we need to make sure that if we are going to build autotools stuff that help2man will be there as it's a frequent implicit dependency.
--- meta/classes/autotools.bbclass | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/classes/autotools.bbclass +2 -2
@@ -5,9 +5,9 @@ def autotools_dep_prepend(d): pn = bb.data.getVar('PN', d, 1) deps = '' - if pn in ['autoconf-native', 'automake-native']: + if pn in ['autoconf-native', 'automake-native', 'help2man-native']: return deps - deps += 'autoconf-native automake-native ' + deps += 'autoconf-native automake-native help2man-native ' if not pn in ['libtool', 'libtool-native', 'libtool-cross']: deps += 'libtool-native '
Signature · 1 line
1.7.0.4