Skip to contentSkip to conversation

Change help2man, mercurial-native behavior

PATCH New Tom Rini 1 participant 5 messages Jul 19, 2011

lore
Share & tools
lore

Tom Rini

author
#0 lore raw

v3 cover Change help2man, mercurial-native behavior

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 dropping mercurial-native as we don't have any hg:// URIs and meta-oe now has a mercurial-native recipe if needed. 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. Since this is just making a perl script it feels like doing the reconf and required patching is overkill. After this, add in a local.conf.sample change so people can ASSUME_PROVIDED this themselves if needed (based on oe.dev)

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
v3: After talking with RP, we don't want to do the automatic ASSUME_PROVIDED thing anymore.
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-v3
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=trini/add-more-native-recipes-v3

Tom Rini (4):
bitbake.conf, sanity.bbclass: Drop mercurial-native
help2man-native: Add 1.38.2
autotools.bbclass: Add help2man-native to the main DEPENDS tree local.conf.sample: Add a note about ASSUME_PROVIDED for help2man

 meta/classes/autotools.bbclass                     |    4 +-
 meta/classes/sanity.bbclass                        |    2 +-
 meta/conf/bitbake.conf                             |    1 -
 meta/conf/local.conf.sample                        |    3 ++
 .../help2man/help2man-native_1.38.2.bb             |   25 ++++++++++++++++++++
 5 files changed, 31 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb
author
#1 lore raw

PATCH v3 1/4 bitbake.conf, sanity.bbclass: Drop mercurial-native

We have no hg URIs in the metadata, so don't require and don't ASSUME_PROVIDED it either. meta-oe has a mercurial-native recipe if hg URIs are added in a recipe later.

---
 meta/classes/sanity.bbclass |    2 +-
 meta/conf/bitbake.conf      |    1 -
 2 files changed, 1 insertions(+), 2 deletions(-)
meta/classes/sanity.bbclass +1 -1
index c9d37c9..75fb52c 100644
@@ -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:
meta/conf/bitbake.conf +0 -1
index 463991d..15fd97e 100644
@@ -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
author
#2 lore raw

PATCH v3 2/4 help2man-native: Add 1.38.2

In reply to Tom Rini

This 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. Now that we can build it, don't require it.

---
 meta/classes/sanity.bbclass                        |    2 +-
 .../help2man/help2man-native_1.38.2.bb             |   25 ++++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb
meta/classes/sanity.bbclass +1 -1
index 75fb52c..06ccf5c 100644
@@ -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:
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +25 -0
new file mode 100644
index 0000000..bea7fe9
@@ -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
author
#3 lore raw

PATCH v3 3/4 autotools.bbclass: Add help2man-native to the main DEPENDS tree

In reply to Tom Rini

With 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
index 98c871a..ed5637e 100644
@@ -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
author
#4 lore raw

PATCH v3 4/4 local.conf.sample: Add a note about ASSUME_PROVIDED for help2man

In reply to Tom Rini

Similar, but opposite of oe.dev example.

---
 meta/conf/local.conf.sample |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
meta/conf/local.conf.sample +3 -0
index c33dc0e..812b896 100644
@@ -186,3 +186,6 @@ NO32LIBS = "1"
 # GNOME, SCREEN, XTERM and KONSOLE
 #TERMCMD = "${KONSOLE_TERMCMD}"
 #TERMCMDRUN = "${KONSOLE_TERMCMDRUN}"
+
+# Uncomment this if your host distribution provides the help2man tool.
+#ASSUME_PROVIDED += "help2man-native"
Signature · 1 line
1.7.0.4