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

Submitted by Saul Wold on Nov. 24, 2011, 6:29 p.m.

Details

Message ID f8e475e6907d1ad9bfb93ec4c37a0876bc5ed90f.1322095568.git.sgw@linux.intel.com
State New
Headers show

Commit Message

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

Patch hide | download patch | download mbox

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"

Comments

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
>