Patchwork [1/1] intltool: remove XML::Parser check

login
register
mail settings
Submitter Saul Wold
Date Nov. 24, 2011, 6:29 p.m.
Message ID <f8e475e6907d1ad9bfb93ec4c37a0876bc5ed90f.1322095568.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/15419/
State New
Headers show

Comments

Saul Wold - Nov. 24, 2011, 6:29 p.m.
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.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 .../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
Khem Raj - Nov. 24, 2011, 7:37 p.m.
On Thu, Nov 24, 2011 at 10:29 AM, Saul Wold <sgw@linux.intel.com> wrote:
> 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 ?

>
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>  .../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
> @@ -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)
> diff --git a/meta/recipes-devtools/intltool/intltool_0.40.6.bb b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
> index e9871fc..8180fd8 100644
> --- a/meta/recipes-devtools/intltool/intltool_0.40.6.bb
> +++ b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
> @@ -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
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Saul Wold - Nov. 26, 2011, 6:49 p.m.
On 11/24/2011 11:37 AM, Khem Raj wrote:
> On Thu, Nov 24, 2011 at 10:29 AM, Saul Wold<sgw@linux.intel.com>  wrote:
>> 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 ?
>
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!

>>
>> Signed-off-by: Saul Wold<sgw@linux.intel.com>
>> ---
>>   .../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
>> @@ -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)
>> diff --git a/meta/recipes-devtools/intltool/intltool_0.40.6.bb b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
>> index e9871fc..8180fd8 100644
>> --- a/meta/recipes-devtools/intltool/intltool_0.40.6.bb
>> +++ b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
>> @@ -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
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Khem Raj - Nov. 26, 2011, 9:36 p.m.
Hi Saul

On Sat, Nov 26, 2011 at 10:49 AM, Saul Wold <sgw@linux.intel.com> wrote:
> On 11/24/2011 11:37 AM, Khem Raj wrote:
>>
>> On Thu, Nov 24, 2011 at 10:29 AM, Saul Wold<sgw@linux.intel.com>  wrote:
>>>
>>> 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 ?
>>
> 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.

>
> Sau!
>
>>>
>>> Signed-off-by: Saul Wold<sgw@linux.intel.com>
>>> ---
>>>  .../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
>>> @@ -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)
>>> diff --git a/meta/recipes-devtools/intltool/intltool_0.40.6.bb
>>> b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
>>> index e9871fc..8180fd8 100644
>>> --- a/meta/recipes-devtools/intltool/intltool_0.40.6.bb
>>> +++ b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
>>> @@ -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
>>>
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Richard Purdie - Nov. 27, 2011, 11:37 a.m.
On Sat, 2011-11-26 at 13:36 -0800, Khem Raj wrote:
> Hi Saul
> 
> On Sat, Nov 26, 2011 at 10:49 AM, Saul Wold <sgw@linux.intel.com> wrote:
> > On 11/24/2011 11:37 AM, Khem Raj wrote:
> >>
> >> On Thu, Nov 24, 2011 at 10:29 AM, Saul Wold<sgw@linux.intel.com>  wrote:
> >>>
> >>> 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 ?
> >>
> > 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.

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
Khem Raj - Nov. 27, 2011, 5:03 p.m.
On Sun, Nov 27, 2011 at 3:37 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Sat, 2011-11-26 at 13:36 -0800, Khem Raj wrote:
>> Hi Saul
>>
>> On Sat, Nov 26, 2011 at 10:49 AM, Saul Wold <sgw@linux.intel.com> wrote:
>> > On 11/24/2011 11:37 AM, Khem Raj wrote:
>> >>
>> >> On Thu, Nov 24, 2011 at 10:29 AM, Saul Wold<sgw@linux.intel.com>  wrote:
>> >>>
>> >>> 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 ?
>> >>
>> > 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.
>
> 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
> 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.

>
> Cheers,
>
> Richard
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

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
@@ -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)
diff --git a/meta/recipes-devtools/intltool/intltool_0.40.6.bb b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
index e9871fc..8180fd8 100644
--- a/meta/recipes-devtools/intltool/intltool_0.40.6.bb
+++ b/meta/recipes-devtools/intltool/intltool_0.40.6.bb
@@ -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"