Skip to contentSkip to conversation

Fixup usage of create_wrapper

PATCH NAK Saul Wold 2 participants 7 messages Jun 10, 2013 – Jun 11, 2013

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

cover Fixup usage of create_wrapper

Richard,

I found these following the buildtools-tarball change, also a couple of other changes, one to clean up the suprious warning, and other a DEPENDS fix.

Sau!

Saul Wold (5):
sanity: remove warn debug message
createrepo: Fix usage of create_wrapper
dpkg: Fix usage of create_wrapper
gnome-doc-utils: Fix usage of create_wrapper
librsvg: configure needs a native gdk-pixbuf binary

 meta/classes/sanity.bbclass                          | 1 -
 meta/recipes-devtools/dpkg/dpkg.inc                  | 2 +-
 meta/recipes-gnome/gnome/gnome-doc-utils.inc         | 2 +-
 meta/recipes-gnome/librsvg/librsvg_2.32.1.bb         | 1 +
 meta/recipes-support/createrepo/createrepo_0.4.11.bb | 2 +-
 5 files changed, 4 insertions(+), 4 deletions(-)
Signature · 1 line
1.8.1.4
author
#1 lore raw

PATCH 1/5 sanity: remove warn debug message

---
 meta/classes/sanity.bbclass | 1 -
 1 file changed, 1 deletion(-)
meta/classes/sanity.bbclass +0 -1
index 744e30d..a8e3af6 100644
@@ -353,7 +353,6 @@ def check_git_version(sanity_data, loosever):
     if status != 0:
         return "Unable to execute git --version, exit code %s\n" % status
     version = result.split()[2]
-    bb.warn(version)
     if loosever(version) < loosever("1.7.5"):
         return "Your version of git is older than 1.7.5 and has bugs which will break builds. Please install a newer version of git.\n"
     return None
Signature · 1 line
1.8.1.4
author
#2 lore raw

PATCH 2/5 createrepo: Fix usage of create_wrapper

In reply to Saul Wold

create_wrapper changed recently and behaves differently now. It does not directly exec the , but exports them, so the first parameter needs to be an environemnt variable like a PATH, not a executable.

---
 meta/recipes-support/createrepo/createrepo_0.4.11.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-support/createrepo/createrepo_0.4.11.bb +1 -1
index c977c2e..4d71883 100644
@@ -35,7 +35,7 @@ do_install_append_class-native () {
 	for i in ${D}${datadir}/createrepo/genpkgmetadata.py \
 		 ${D}${datadir}/createrepo/modifyrepo.py \
 		 ${D}${bindir}/rpm-createsolvedb.py ; do
-		create_wrapper $i ${STAGING_BINDIR_NATIVE}/python-native/python
+		create_wrapper $i PATH=${STAGING_BINDIR_NATIVE}/python-native:\$PATH
 	done
 
 	create_wrapper ${D}/${bindir}/createrepo \
Signature · 1 line
1.8.1.4
author
#3 lore raw

PATCH 3/5 dpkg: Fix usage of create_wrapper

In reply to Saul Wold

create_wrapper changed recently and behaves differently now. It does not directly exec the , but exports them, so the first parameter needs to be an environemnt variable like a PATH, not a executable.

---
 meta/recipes-devtools/dpkg/dpkg.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/dpkg/dpkg.inc +1 -1
index 28c4f89..02383ed 100644
@@ -56,7 +56,7 @@ do_install_append () {
 do_install_append_class-native () {
 	tmp=`find ${D}${bindir} -type f -exec grep -m 1 -l '#!/.*/perl-native/perl' {} \;`
 	for i in $tmp; do
-		create_wrapper $i ${STAGING_BINDIR_NATIVE}/perl-native/perl
+		create_wrapper $i PATH=${STAGING_BINDIR_NATIVE}/perl-native:\$PATH
 	done
 }
 
Signature · 1 line
1.8.1.4
#4 lore raw

Re: [PATCH 3/5] dpkg: Fix usage of create_wrapper

Quoted 14 lines · Saul Wold

create_wrapper changed recently and behaves differently now. It does not directly exec the , but exports them, so the first parameter needs to be an environemnt variable like a PATH, not a executable.

---
 meta/recipes-devtools/dpkg/dpkg.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/dpkg/dpkg.inc +0 -0
index 28c4f89..02383ed 100644

meta/recipes-devtools/dpkg/dpkg.inc do_install_append () { · line 59

Quoted 5 lines
meta/recipes-devtools/dpkg/dpkg.inc +1 -1
@@ -56,7 +56,7 @@ do_install_append () {
 do_install_append_class-native () {
        tmp=`find ${D}${bindir} -type f -exec grep -m 1 -l '#!/.*/perl-native/perl' {} \;`
        for i in $tmp; do
-               create_wrapper $i ${STAGING_BINDIR_NATIVE}/perl-native/perl
+               create_wrapper $i PATH=${STAGING_BINDIR_NATIVE}/perl-native:\$PATH

NACK.

The message isn't entirely accurate - the changes to the wrapper scripts were consistent with the documentation of the function which clearly says the arguments are NAME=VALUE pairs, but recipes such as this were using "insider" knowledge that the wrapper was implemented with "env" to effectively inject perl-native so that is the binary executed, not the real script itself. This avoids the stupidly small buffer in binfmt_script that parses the #! lines (128 bytes), which is what the comment above this block refers to.

Setting the path won't perform this workaround, so this patch (and similar) re-introduces the problem with deeply nested work directories.

I guess the real question is why do we wrap scripts one by one instead of doing some wrapping centrally when writing to the native sysroot itself? At the moment we're playing whack-a-mole where sufficient scripts have been wrapped that a specific build appears to work.

Ross

author
#5 lore raw

PATCH 4/5 gnome-doc-utils: Fix usage of create_wrapper

In reply to Saul Wold

create_wrapper changed recently and behaves differently now. It does not directly exec the , but exports them, so the first parameter needs to be an environemnt variable like a PATH, not a executable.

---
 meta/recipes-gnome/gnome/gnome-doc-utils.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-gnome/gnome/gnome-doc-utils.inc +1 -1
index 9d243a1..3eaebe3 100644
@@ -20,7 +20,7 @@ do_install_append() {
 }
 
 do_install_append_class-native () {
-	create_wrapper ${D}${bindir}/xml2po ${STAGING_BINDIR_NATIVE}/python-native/python
+	create_wrapper ${D}${bindir}/xml2po PATH=${STAGING_BINDIR_NATIVE}/python-native:\$PATH
 }
 
 FILES_${PN} += "${datadir}/xml* ${PYTHON_SITEPACKAGES_DIR}/*"
Signature · 1 line
1.8.1.4
author
#6 lore raw

PATCH 5/5 librsvg: configure needs a native gdk-pixbuf binary

In reply to Saul Wold

Build failure was seen on the autobuilder, so add gdk-pixbuf-native to depends list

---
 meta/recipes-gnome/librsvg/librsvg_2.32.1.bb | 1 +
 1 file changed, 1 insertion(+)
meta/recipes-gnome/librsvg/librsvg_2.32.1.bb +1 -0
index 9b1e0ec..4818422 100644
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
 
 SECTION = "x11/utils"
 DEPENDS = "cairo glib-2.0 gdk-pixbuf fontconfig freetype libxml2 pango"
+DEPENDS += "gdk-pixbuf-native"
 BBCLASSEXTEND = "native"
 
 PR = "r12"
Signature · 1 line
1.8.1.4