Skip to contentSkip to conversation

Fix for host conamination

PATCH In review Saul Wold 3 participants 7 messages Nov 24, 2011 – Nov 27, 2011

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

cover Fix for host conamination

This address a problem where a intltool.m4 check will fail if the host system does not have XML::Parser installed.

The following changes since commit 0a1dedeb8eea4e230b47d1516b3e6e90495fe49d:

libtool: Avoid relinking when cross compiling, its pointless (2011-11-24 00:02:27 +0000)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/fix
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/fix

Saul Wold (1):
intltool: remove XML::Parser check

 .../intltool-0.40.6/remove-xml-check.patch         |   29 ++++++++++++++++++++
 meta/recipes-devtools/intltool/intltool_0.40.6.bb  |    7 +++--
 2 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch
Signature · 1 line
1.7.5.4
author
#1 lore raw

PATCH 1/1 intltool: remove XML::Parser check

Add Patch to disable the XML::Parser check in the target intltool.m4, this check will find the host (not native) XML::Parser if it's installed possibly causing Host contamination, but will also fail configuration if XML::Parser is not installed on the host.

Since we know that XML::Parser is installed on the image, we don't really need this check, so comment it out.

---
 .../intltool-0.40.6/remove-xml-check.patch         |   29 ++++++++++++++++++++
 meta/recipes-devtools/intltool/intltool_0.40.6.bb  |    7 +++--
 2 files changed, 33 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch
meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch new file +29 -0
new file mode 100644
index 0000000..476d091
@@ -0,0 +1,29 @@
+Index: intltool-0.40.6/intltool.m4
+===================================================================
+--- intltool-0.40.6.orig/intltool.m4	2009-02-14 14:12:28.000000000 -0800
++++ intltool-0.40.6/intltool.m4	2011-11-23 15:39:34.689561872 -0800
+@@ -122,14 +122,16 @@
+    IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
+    AC_MSG_RESULT([$IT_PERL_VERSION])
+ fi
+-if test "x$2" != "xno-xml"; then
+-   AC_MSG_CHECKING([for XML::Parser])
+-   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+-       AC_MSG_RESULT([ok])
+-   else
+-       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+-   fi
+-fi
++
++# Disable this check since we know XML::Parser is installed
++#if test "x$2" != "xno-xml"; then
++#   AC_MSG_CHECKING([for XML::Parser])
++#   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
++#       AC_MSG_RESULT([ok])
++#   else
++#       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
++#   fi
++#fi
+ 
+ # Substitute ALL_LINGUAS so we can use it in po/Makefile
+ AC_SUBST(ALL_LINGUAS)
meta/recipes-devtools/intltool/intltool_0.40.6.bb +4 -3
index e9871fc..8180fd8 100644
@@ -1,14 +1,15 @@
 require intltool.inc
 LICENSE="GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r5"
+PR = "r6"
 
 SRC_URI_append = " file://intltool-nowarn-0.40.0.patch \
                    ${NATIVEPATCHES} \
                  "
 
-NATIVEPATCHES = "file://noperlcheck.patch"
-NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch"
+NATIVEPATCHES = "file://noperlcheck.patch \
+                 file://remove-xml-check.patch"
+NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch" 
 
 SRC_URI[md5sum] = "69bc0353323112f42ad4f9cf351bc3e5"
 SRC_URI[sha256sum] = "4d1e5f8561f09c958e303d4faa885079a5e173a61d28437d0013ff5efc9e3b64"
Signature · 1 line
1.7.5.4
#2 lore raw

Re: [PATCH 1/1] intltool: remove XML::Parser check

Quoted 8 lines · Saul Wold

Add Patch to disable the XML::Parser check in the target intltool.m4, this check will find the host (not native) XML::Parser if it's installed possibly causing Host contamination, but will also fail configuration if XML::Parser is not installed on the host.

Since we know that XML::Parser is installed on the image, we don't really need this check, so comment it out.

if it is installed then why does it fail to detect it ?

Quoted 75 lines

---
 .../intltool-0.40.6/remove-xml-check.patch         |   29 ++++++++++++++++++++ meta/recipes-devtools/intltool/intltool_0.40.6.bb  |    7 +++--

 2 files changed, 33 insertions(+), 3 deletions(-)

 create mode 100644 meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch

meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch new file +29 -0
new file mode 100644
index 0000000..476d091
@@ -0,0 +1,29 @@
+Index: intltool-0.40.6/intltool.m4
+===================================================================
+--- intltool-0.40.6.orig/intltool.m4   2009-02-14 14:12:28.000000000 -0800
++++ intltool-0.40.6/intltool.m4        2011-11-23 15:39:34.689561872 -0800
+@@ -122,14 +122,16 @@
+    IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
+    AC_MSG_RESULT([$IT_PERL_VERSION])
+ fi
+-if test "x$2" != "xno-xml"; then
+-   AC_MSG_CHECKING([for XML::Parser])
+-   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+-       AC_MSG_RESULT([ok])
+-   else
+-       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+-   fi
+-fi
++
++# Disable this check since we know XML::Parser is installed
++#if test "x$2" != "xno-xml"; then
++#   AC_MSG_CHECKING([for XML::Parser])
++#   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
++#       AC_MSG_RESULT([ok])
++#   else
++#       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
++#   fi
++#fi
+
+ # Substitute ALL_LINGUAS so we can use it in po/Makefile
+ AC_SUBST(ALL_LINGUAS)
meta/recipes-devtools/intltool/intltool_0.40.6.bb +0 -0
index e9871fc..8180fd8 100644
@@ -1,14 +1,15 @@

 require intltool.inc
 LICENSE="GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"

meta/recipes-devtools/intltool/intltool_0.40.6.bb +1 -1
-PR = "r5"
+PR = "r6"

 SRC_URI_append = " file://intltool-nowarn-0.40.0.patch \
                   ${NATIVEPATCHES} \
                 "

meta/recipes-devtools/intltool/intltool_0.40.6.bb +3 -2
-NATIVEPATCHES = "file://noperlcheck.patch"
-NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch"
+NATIVEPATCHES = "file://noperlcheck.patch \
+                 file://remove-xml-check.patch"
+NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch"

 SRC_URI[md5sum] = "69bc0353323112f42ad4f9cf351bc3e5"
 SRC_URI[sha256sum] = "4d1e5f8561f09c958e303d4faa885079a5e173a61d28437d0013ff5efc9e3b64" --
1.7.5.4

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

author
#3 lore raw

Re: [PATCH 1/1] intltool: remove XML::Parser check

Quoted 7 lines · Khem Raj
Quoted 6 lines · Saul Wold

Add Patch to disable the XML::Parser check in the target intltool.m4, this check will find the host (not native) XML::Parser if it's installed possibly causing Host contamination, but will also fail configuration if XML::Parser is not installed on the host.

Quoted 5 lines
Quoted 2 lines

Since we know that XML::Parser is installed on the image, we don't really need this check, so comment it out.

if it is installed then why does it fail to detect it ?

Because the recipes that depend on intltool do not inherit perlnative, the recipes in question are gconf and shared-mime-info. They depend on intltool, but do not need to directly inherit perlnative (at least according to RP).

Sau!

Quoted 80 lines
Quoted 70 lines
---
  .../intltool-0.40.6/remove-xml-check.patch         |   29 ++++++++++++++++++++
  meta/recipes-devtools/intltool/intltool_0.40.6.bb  |    7 +++--
  2 files changed, 33 insertions(+), 3 deletions(-)

create mode 100644 meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch

meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch new file +29 -0
new file mode 100644
index 0000000..476d091
@@ -0,0 +1,29 @@
+Index: intltool-0.40.6/intltool.m4
+===================================================================
+--- intltool-0.40.6.orig/intltool.m4   2009-02-14 14:12:28.000000000 -0800
++++ intltool-0.40.6/intltool.m4        2011-11-23 15:39:34.689561872 -0800
+@@ -122,14 +122,16 @@
+    IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
+    AC_MSG_RESULT([$IT_PERL_VERSION])
+ fi
+-if test "x$2" != "xno-xml"; then
+-   AC_MSG_CHECKING([for XML::Parser])
+-   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+-       AC_MSG_RESULT([ok])
+-   else
+-       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+-   fi
+-fi
++
++# Disable this check since we know XML::Parser is installed
++#if test "x$2" != "xno-xml"; then
++#   AC_MSG_CHECKING([for XML::Parser])
++#   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
++#       AC_MSG_RESULT([ok])
++#   else
++#       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
++#   fi
++#fi
+
+ # Substitute ALL_LINGUAS so we can use it in po/Makefile
+ AC_SUBST(ALL_LINGUAS)
meta/recipes-devtools/intltool/intltool_0.40.6.bb +4 -4
index e9871fc..8180fd8 100644
@@ -1,14 +1,15 @@
  require intltool.inc
  LICENSE="GPLv2"
  LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r5"
+PR = "r6"
 
  SRC_URI_append = " file://intltool-nowarn-0.40.0.patch \
                    ${NATIVEPATCHES} \
                  "
 
-NATIVEPATCHES = "file://noperlcheck.patch"
-NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch"
+NATIVEPATCHES = "file://noperlcheck.patch \
+                 file://remove-xml-check.patch"
+NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch"
 
  SRC_URI[md5sum] = "69bc0353323112f42ad4f9cf351bc3e5"
  SRC_URI[sha256sum] = "4d1e5f8561f09c958e303d4faa885079a5e173a61d28437d0013ff5efc9e3b64"
--

1.7.5.4

Quoted 5 lines

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

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

#4 lore raw

Re: [PATCH 1/1] intltool: remove XML::Parser check

Hi Saul

Quoted 13 lines · Saul Wold
Quoted 12 lines · Khem Raj
Quoted 9 lines · Saul Wold

Add Patch to disable the XML::Parser check in the target intltool.m4, this check will find the host (not native) XML::Parser if it's installed possibly causing Host contamination, but will also fail configuration if XML::Parser is not installed on the host.

Since we know that XML::Parser is installed on the image, we don't really need this check, so comment it out.

Quoted 6 lines
Quoted 2 lines

if it is installed then why does it fail to detect it ?

Because the recipes that depend on intltool do not inherit perlnative, the recipes in question are gconf and shared-mime-info.  They depend on intltool, but do not need to directly inherit perlnative (at least according to RP).

why dont they need to inherit perlnative ? If they depend on intltool which expects that its dependees inherit perlnative. I am just worried where this may cause issues. There might be other recipes which should need XML parser and may not get it since we remove the test here.

Quoted 94 lines

Sau!

Quoted 90 lines
Quoted 80 lines

---
 .../intltool-0.40.6/remove-xml-check.patch         |   29
++++++++++++++++++++
 meta/recipes-devtools/intltool/intltool_0.40.6.bb  |    7 +++--

 2 files changed, 33 insertions(+), 3 deletions(-)

 create mode 100644 meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch

diff --git a/meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch b/meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch new file mode 100644
index 0000000..476d091
--- /dev/null
+++
b/meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch

meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch new file +24 -2
@@ -0,0 +1,29 @@
+Index: intltool-0.40.6/intltool.m4
+===================================================================
+--- intltool-0.40.6.orig/intltool.m4   2009-02-14 14:12:28.000000000
-0800
++++ intltool-0.40.6/intltool.m4        2011-11-23 15:39:34.689561872
-0800
+@@ -122,14 +122,16 @@
+    IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
+    AC_MSG_RESULT([$IT_PERL_VERSION])
+ fi
+-if test "x$2" != "xno-xml"; then
+-   AC_MSG_CHECKING([for XML::Parser])
+-   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+-       AC_MSG_RESULT([ok])
+-   else
+-       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+-   fi
+-fi
++
++# Disable this check since we know XML::Parser is installed
++#if test "x$2" != "xno-xml"; then
++#   AC_MSG_CHECKING([for XML::Parser])
++#   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
++#       AC_MSG_RESULT([ok])
++#   else
++#       AC_MSG_ERROR([XML::Parser perl module is required for

intltool])
++#   fi
++#fi

meta/recipes-devtools/intltool/intltool-0.40.6/remove-xml-check.patch new file +3 -0
+
+ # Substitute ALL_LINGUAS so we can use it in po/Makefile
+ AC_SUBST(ALL_LINGUAS)
meta/recipes-devtools/intltool/intltool_0.40.6.bb +0 -0
index e9871fc..8180fd8 100644
@@ -1,14 +1,15 @@

 require intltool.inc
 LICENSE="GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"

meta/recipes-devtools/intltool/intltool_0.40.6.bb +1 -1
-PR = "r5"
+PR = "r6"

 SRC_URI_append = " file://intltool-nowarn-0.40.0.patch \
                   ${NATIVEPATCHES} \
                 "

meta/recipes-devtools/intltool/intltool_0.40.6.bb +3 -2
-NATIVEPATCHES = "file://noperlcheck.patch"
-NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch"
+NATIVEPATCHES = "file://noperlcheck.patch \
+                 file://remove-xml-check.patch"
+NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch"

 SRC_URI[md5sum] = "69bc0353323112f42ad4f9cf351bc3e5" SRC_URI[sha256sum] = "4d1e5f8561f09c958e303d4faa885079a5e173a61d28437d0013ff5efc9e3b64" --
1.7.5.4

Quoted 5 lines

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

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

#5 lore raw

Re: [PATCH 1/1] intltool: remove XML::Parser check

Quoted 23 lines · Khem Raj

Hi Saul

Quoted 13 lines · Saul Wold
Quoted 12 lines · Khem Raj
Quoted 9 lines · Saul Wold

Add Patch to disable the XML::Parser check in the target intltool.m4, this check will find the host (not native) XML::Parser if it's installed possibly causing Host contamination, but will also fail configuration if XML::Parser is not installed on the host.

Since we know that XML::Parser is installed on the image, we don't really need this check, so comment it out.

Quoted 6 lines
Quoted 2 lines

if it is installed then why does it fail to detect it ?

Because the recipes that depend on intltool do not inherit perlnative, the recipes in question are gconf and shared-mime-info. They depend on intltool, but do not need to directly inherit perlnative (at least according to RP).

Quoted 4 lines

why dont they need to inherit perlnative ? If they depend on intltool which expects that its dependees inherit perlnative. I am just worried where this may cause issues. There might be other recipes which should need XML parser and may not get it since we remove the test here.

All of the intltool scripts have the correct paths to perl already embedded into them and can find perl fine. If the recipe needs perl for some other reason than intltool, it needs perlnative but it if only needs perl for intltool, we shouldn't need the dependency. The .m4 macro checks are well intended but don't fit the way we use perl. I really don't want to end up in a position where intltool automatically means we have to add perlnative as a dependency and we've previously seen many problems related to that.

Cheers,

Richard

#6 lore raw

Re: [PATCH 1/1] intltool: remove XML::Parser check

Quoted 24 lines · Richard Purdie
Quoted 23 lines · Khem Raj

Hi Saul

Quoted 19 lines · Saul Wold
Quoted 9 lines · Khem Raj
Quoted 7 lines · Saul Wold

Add Patch to disable the XML::Parser check in the target intltool.m4, this check will find the host (not native) XML::Parser if it's installed possibly causing Host contamination, but will also fail configuration if XML::Parser is not installed on the host.

Quoted 5 lines
Quoted 2 lines

Since we know that XML::Parser is installed on the image, we don't really need this check, so comment it out.

if it is installed then why does it fail to detect it ?

Because the recipes that depend on intltool do not inherit perlnative, the recipes in question are gconf and shared-mime-info.  They depend on intltool, but do not need to directly inherit perlnative (at least according to RP).

Quoted 7 lines
Quoted 4 lines

why dont they need to inherit perlnative ? If they depend on intltool which expects that its dependees inherit perlnative. I am just worried where this may cause issues. There might be other recipes which should need XML parser and may not get it since we remove the test here.

All of the intltool scripts have the correct paths to perl already embedded into them and can find perl fine.

I see. I think this should be added to comments somewhere may be in intltool recipe itself
and I hope this also works for target intltool recipe.

If the recipe needs perl for

Quoted 6 lines

some other reason than intltool, it needs perlnative but it if only needs perl for intltool, we shouldn't need the dependency. The .m4 macro checks are well intended but don't fit the way we use perl. I really don't want to end up in a position where intltool automatically means we have to add perlnative as a dependency and we've previously seen many problems related to that.

agreed.

Quoted 12 lines

Cheers,

Richard

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