Skip to contentSkip to conversation

Optionally trade required_utils for -native builds

PATCH In review Tom Rini 5 participants 17 messages Jul 15, 2011 – Jul 19, 2011

lore
Share & tools
lore

Tom Rini

author
#0 lore raw

cover Optionally trade required_utils for -native builds

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 mercurial-native and then a test to add it to ASSUME_PROVIDED. This was build tested but I can't spot any hg URIs in the metadata. Next up is help2man-native. First, I've added the GPLv2 and GPLv3 versions. 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.

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
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=trini/add-more-native-recipes

Tom Rini (5):
mercurial-native: Add 1.9 version
bitbake.conf, sanity.bbclass: Make mercurial-native optional
help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3) 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.36.4.bb             |   26 ++++++++++++++++++++
 .../help2man/help2man-native_1.38.2.bb             |   24 ++++++++++++++++++
 .../mercurial/mercurial-native_1.9.bb              |   24 ++++++++++++++++++
 6 files changed, 85 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.36.4.bb
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb
 create mode 100644 meta/recipes-devtools/mercurial/mercurial-native_1.9.bb
author
#1 lore raw

PATCH 1/5 mercurial-native: Add 1.9 version

This is based on 91c14caa8819b08def8ea99e02949e49604c2e86 from oe.dev with an update to 1.9.

---
 .../mercurial/mercurial-native_1.9.bb              |   24 ++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/mercurial/mercurial-native_1.9.bb
meta/recipes-devtools/mercurial/mercurial-native_1.9.bb new file +24 -0
new file mode 100644
index 0000000..b4438a3
@@ -0,0 +1,24 @@
+DESCRIPTION = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "python-native"
+PR = "r1"
+
+SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz"
+SRC_URI[md5sum] = "d4842129fa2732eb6ed1180467bc32e2"
+SRC_URI[sha256sum] = "711e4b1cd2924a7a88499d6c431a9122390183bf554d4e153edbb3b2f30123e0"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+inherit native
+
+EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
+        BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} PREFIX=${prefix}"
+
+do_install () {
+        oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
+}
+
+NATIVE_INSTALL_WORKS = "1"
Signature · 1 line
1.7.0.4
#2 lore raw

Re: [PATCH 1/5] mercurial-native: Add 1.9 version

Quoted 20 lines · Tom Rini

This is based on 91c14caa8819b08def8ea99e02949e49604c2e86 from oe.dev with an update to 1.9.

---
 .../mercurial/mercurial-native_1.9.bb              |   24 ++++++++++++++++++++

 1 files changed, 24 insertions(+), 0 deletions(-)

 create mode 100644 meta/recipes-devtools/mercurial/mercurial-native_1.9.bb

meta/recipes-devtools/mercurial/mercurial-native_1.9.bb new file +5 -0
new file mode 100644
index 0000000..b4438a3
@@ -0,0 +1,24 @@
+DESCRIPTION = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"

meta/recipes-devtools/mercurial/mercurial-native_1.9.bb line 15

Quoted 10 lines
meta/recipes-devtools/mercurial/mercurial-native_1.9.bb new file +10 -0
+DEPENDS = "python-native"
+PR = "r1"
+
+SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz"
+SRC_URI[md5sum] = "d4842129fa2732eb6ed1180467bc32e2"
+SRC_URI[sha256sum] = "711e4b1cd2924a7a88499d6c431a9122390183bf554d4e153edbb3b2f30123e0"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+inherit native

why not use BBCLASSEXTEND although I dont know why someone would want target package of hg

Quoted 18 lines
meta/recipes-devtools/mercurial/mercurial-native_1.9.bb new file +9 -1
+
+EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
+        BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} PREFIX=${prefix}"
+
+do_install () {
+        oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
+}
+
+NATIVE_INSTALL_WORKS = "1"
--

1.7.0.4

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

author
#3 lore raw

Re: [PATCH 1/5] mercurial-native: Add 1.9 version

Quoted 26 lines · Khem Raj
Quoted 25 lines · Tom Rini

This is based on 91c14caa8819b08def8ea99e02949e49604c2e86 from oe.dev with an update to 1.9.

---
 .../mercurial/mercurial-native_1.9.bb              |   24 ++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/mercurial/mercurial-native_1.9.bb
meta/recipes-devtools/mercurial/mercurial-native_1.9.bb new file +10 -0
new file mode 100644
index 0000000..b4438a3
@@ -0,0 +1,24 @@
+DESCRIPTION = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "python-native"
+PR = "r1"
+
+SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz"
+SRC_URI[md5sum] = "d4842129fa2732eb6ed1180467bc32e2"
Quoted 8 lines

meta/recipes-devtools/mercurial/mercurial-native_1.9.bb line 15

Quoted 5 lines
meta/recipes-devtools/mercurial/mercurial-native_1.9.bb new file +5 -0
+SRC_URI[sha256sum] = "711e4b1cd2924a7a88499d6c431a9122390183bf554d4e153edbb3b2f30123e0"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+inherit native

why not use BBCLASSEXTEND although I dont know why someone would want target package of hg

To avoid the "ok, now how do we split this up for the target" before someone says they want it. oe.dev is also just a native atm.

Signature · 2 lines
Tom Rini
Mentor Graphics Corporation
author
#4 lore raw

PATCH 2/5 bitbake.conf, sanity.bbclass: Make mercurial-native optional

In reply to Tom Rini

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
index c9d37c9..2bc3fca 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:
@@ -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
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
#5 lore raw

PATCH 3/5 help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

In reply to Tom Rini

These are 'side ports' 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.

---
 .../help2man/help2man-native_1.36.4.bb             |   26 ++++++++++++++++++++
 .../help2man/help2man-native_1.38.2.bb             |   24 ++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.36.4.bb
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb
meta/recipes-devtools/help2man/help2man-native_1.36.4.bb new file +26 -0
new file mode 100644
index 0000000..b2c6608
@@ -0,0 +1,26 @@
+DESCRIPTION = "GNU utility to convert program --help output to a man page"
+HOMEPAGE    = "http://www.gnu.org/software/help2man"
+SECTION     = "console/utils"
+LICENSE     = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS     = "autoconf-native automake-native"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "d31a0a38c2ec71faa06723f6b8bd3076"
+SRC_URI[sha256sum] = "a4adadf76b496a6bc50795702253ecfcb6f0d159b68038f31a5362009340bca2"
+
+inherit autotools native
+
+PR = "r5"
+
+# We don't want to reconfigure things
+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
+}
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +24 -0
new file mode 100644
index 0000000..5612eda
@@ -0,0 +1,24 @@
+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
+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
#6 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

Quoted 4 lines · Tom Rini

These are 'side ports' 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.

Quoted 8 lines
---
  .../help2man/help2man-native_1.36.4.bb             |   26 ++++++++++++++++++++
  .../help2man/help2man-native_1.38.2.bb             |   24 ++++++++++++++++++
  2 files changed, 50 insertions(+), 0 deletions(-)

create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.36.4.bb create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb

Why do we need both versions? Can't we just use the most current?

Sau!

Quoted 62 lines
meta/recipes-devtools/help2man/help2man-native_1.36.4.bb new file +26 -0
new file mode 100644
index 0000000..b2c6608
@@ -0,0 +1,26 @@
+DESCRIPTION = "GNU utility to convert program --help output to a man page"
+HOMEPAGE    = "http://www.gnu.org/software/help2man"
+SECTION     = "console/utils"
+LICENSE     = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS     = "autoconf-native automake-native"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "d31a0a38c2ec71faa06723f6b8bd3076"
+SRC_URI[sha256sum] = "a4adadf76b496a6bc50795702253ecfcb6f0d159b68038f31a5362009340bca2"
+
+inherit autotools native
+
+PR = "r5"
+
+# We don't want to reconfigure things
+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
+}
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +24 -0
new file mode 100644
index 0000000..5612eda
@@ -0,0 +1,24 @@
+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
+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
+}
author
#7 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

Quoted 18 lines · Saul Wold
Quoted 11 lines · Tom Rini

These are 'side ports' 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.

---
  .../help2man/help2man-native_1.36.4.bb             |   26
++++++++++++++++++++
  .../help2man/help2man-native_1.38.2.bb             |   24
++++++++++++++++++
  2 files changed, 50 insertions(+), 0 deletions(-)
Quoted 5 lines

create mode 100644
meta/recipes-devtools/help2man/help2man-native_1.36.4.bb
create mode 100644
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb

Quoted 1 line

Why do we need both versions? Can't we just use the most current?

For the "I want no GPLv3" crowd. This is a little more clear in oe.dev where we also build for the target but yes, different legal departments have different GPLv3 concerns so I think it makes sense in this case still.

Signature · 2 lines
Tom Rini
Mentor Graphics Corporation
#8 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

Quoted 19 lines · Tom Rini
Quoted 18 lines · Saul Wold
Quoted 16 lines · Tom Rini

These are 'side ports' 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.

---
   .../help2man/help2man-native_1.36.4.bb             |   26
++++++++++++++++++++
   .../help2man/help2man-native_1.38.2.bb             |   24
++++++++++++++++++
   2 files changed, 50 insertions(+), 0 deletions(-)

create mode 100644
meta/recipes-devtools/help2man/help2man-native_1.36.4.bb
create mode 100644
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb

Quoted 6 lines
Quoted 1 line

Why do we need both versions? Can't we just use the most current?

For the "I want no GPLv3" crowd. This is a little more clear in oe.dev where we also build for the target but yes, different legal departments have different GPLv3 concerns so I think it makes sense in this case still.

Right, I scanned this too quickly and did not see the v2 vs v3 difference.

Thanks for clarifying.

Sau!

#9 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

In reply to Tom Rini
Quoted 19 lines · Tom Rini
Quoted 18 lines · Saul Wold
Quoted 16 lines · Tom Rini

These are 'side ports' 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.

---
  .../help2man/help2man-native_1.36.4.bb             |   26
++++++++++++++++++++
  .../help2man/help2man-native_1.38.2.bb             |   24
++++++++++++++++++
  2 files changed, 50 insertions(+), 0 deletions(-)

create mode 100644
meta/recipes-devtools/help2man/help2man-native_1.36.4.bb
create mode 100644
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb

Quoted 5 lines
Quoted 1 line

Why do we need both versions? Can't we just use the most current?

For the "I want no GPLv3" crowd. This is a little more clear in oe.dev where we also build for the target but yes, different legal departments have different GPLv3 concerns so I think it makes sense in this case still.

We support limited GPLv2 functionality for the target. We don't do this for the build tools since the compiler is GPLv3 for a start. We also don't cover target development tools.

So I don't think we need the old version...

Cheers,

Richard

#10 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

In reply to Tom Rini
Quoted 12 lines · Tom Rini

These are 'side ports' 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.

---
 .../help2man/help2man-native_1.36.4.bb             |   26 ++++++++++++++++++++
 .../help2man/help2man-native_1.38.2.bb             |   24 ++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.36.4.bb
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb

[...]

Quoted 15 lines
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +9 -0
new file mode 100644
index 0000000..5612eda
@@ -0,0 +1,24 @@
+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"

meta/recipes-devtools/help2man/help2man-native_1.38.2.bb line 19

Quoted 10 lines
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +10 -0
+SRC_URI[sha256sum] = "952c29561bce8b233aa10af7f0e0c79c8243712810bf8ddf01e6efd82ce250d1"
+
+inherit autotools native
+
+EXTRA_OECONF = "--disable-nls"
+
+# We don't want to reconfigure things
+do_configure() {
+	oe_runconf
+}

At the very least I'd like to know why we can't do this. Its a great way to hide bugs (such as libtool rpath injection issues, admittedly in the target case).

Cheers,

Richard

author
#11 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

Quoted 35 lines · Richard Purdie
Quoted 12 lines · Tom Rini

These are 'side ports' 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.

---
 .../help2man/help2man-native_1.36.4.bb             |   26 ++++++++++++++++++++
 .../help2man/help2man-native_1.38.2.bb             |   24 ++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.36.4.bb
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb

[...]

Quoted 21 lines
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +15 -0
new file mode 100644
index 0000000..5612eda
@@ -0,0 +1,24 @@
+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"
+
Quoted 8 lines

meta/recipes-devtools/help2man/help2man-native_1.38.2.bb line 19

Quoted 4 lines
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +4 -0
+# We don't want to reconfigure things
+do_configure() {
+	oe_runconf
+}

At the very least I'd like to know why we can't do this. Its a great way to hide bugs (such as libtool rpath injection issues, admittedly in the target case).

In oe.dev, chicken and egg problem wrt perl. Here, I'll see if we can drop this part too, as part of a v2 with the older help2man dropped and per IRC, mercurial-native moved over to a meta-oe patch (but keeping the sanity.bbclass/bitbake.conf change).

Signature · 2 lines
Tom Rini
Mentor Graphics Corporation
author
#12 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

Quoted 45 lines · Tom Rini
Quoted 35 lines · Richard Purdie
Quoted 12 lines · Tom Rini

These are 'side ports' 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.

---
 .../help2man/help2man-native_1.36.4.bb             |   26 ++++++++++++++++++++
 .../help2man/help2man-native_1.38.2.bb             |   24 ++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.36.4.bb
 create mode 100644 meta/recipes-devtools/help2man/help2man-native_1.38.2.bb

[...]

Quoted 21 lines
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +15 -0
new file mode 100644
index 0000000..5612eda
@@ -0,0 +1,24 @@
+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"
+
Quoted 8 lines

meta/recipes-devtools/help2man/help2man-native_1.38.2.bb line 19

Quoted 4 lines
meta/recipes-devtools/help2man/help2man-native_1.38.2.bb new file +4 -0
+# We don't want to reconfigure things
+do_configure() {
+	oe_runconf
+}

At the very least I'd like to know why we can't do this. Its a great way to hide bugs (such as libtool rpath injection issues, admittedly in the target case).

Quoted 4 lines

In oe.dev, chicken and egg problem wrt perl. Here, I'll see if we can drop this part too, as part of a v2 with the older help2man dropped and per IRC, mercurial-native moved over to a meta-oe patch (but keeping the sanity.bbclass/bitbake.conf change).

OK, here's a "why" on not changing:
| configure.in:4: error: possibly undefined macro: AC_PROG_PERL
| If this token and others are legitimate, please use
m4_pattern_allow.
| See the Autoconf documentation.
| configure.in:7: error: possibly undefined macro: AC_PERL_MODULE

Which if we fix by building vs perlnative we then need autotools.bbclass to inherit perlnative to make life reliable which isn't what you want wrt perl-native in the build chain :)

Signature · 2 lines
Tom Rini
Mentor Graphics Corporation
#13 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

Quoted 10 lines · Tom Rini

OK, here's a "why" on not changing:
| configure.in:4: error: possibly undefined macro: AC_PROG_PERL
| If this token and others are legitimate, please use
m4_pattern_allow.
| See the Autoconf documentation.
| configure.in:7: error: possibly undefined macro: AC_PERL_MODULE

Which if we fix by building vs perlnative we then need autotools.bbclass to inherit perlnative to make life reliable which isn't what you want wrt perl-native in the build chain :)

How about fixing it by installing those two macros into ${S} before running aclocal? You could do that just as a patch, I guess.

p.

author
#14 lore raw

Re: [PATCH 3/5] help2man-native: Add 1.36.4 (GPLv2) and 1.38.2 (GPLv3)

Quoted 8 lines · Phil Blundell
Quoted 7 lines · Tom Rini

OK, here's a "why" on not changing:
| configure.in:4: error: possibly undefined macro: AC_PROG_PERL
| If this token and others are legitimate, please use
m4_pattern_allow.
| See the Autoconf documentation.
| configure.in:7: error: possibly undefined macro: AC_PERL_MODULE

Quoted 6 lines
Quoted 3 lines

Which if we fix by building vs perlnative we then need autotools.bbclass to inherit perlnative to make life reliable which isn't what you want wrt perl-native in the build chain :)

How about fixing it by installing those two macros into ${S} before running aclocal? You could do that just as a patch, I guess.

It feels like overkill just to make a perl program. Assuming sstate-help2man-native-x86_64-linux-1.38.2-r2-x86_64-2-<signature>_populate-sysroot.tgz is the right file to peek at, it's just help2man and a man page.

Signature · 2 lines
Tom Rini
Mentor Graphics Corporation
author
#15 lore raw

PATCH 4/5 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
index 2bc3fca..365af6c 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:
@@ -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
author
#16 lore raw

PATCH 5/5 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