Patchwork [CONSOLIDATED,PULL,17/17] openjade-native: fix undefined Getopts error, use std namespace

login
register
mail settings
Submitter Saul Wold
Date July 3, 2012, 7:09 a.m.
Message ID <872c46b6907e0721457c2c451d6d5c42548915e5.1341299168.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/31079/
State New
Headers show

Comments

Saul Wold - July 3, 2012, 7:09 a.m.
From: Dennis Lan <dennis.yxun@gmail.com>

Using Gentoo Linux as the build host, it fails without this patch
Use Getopt::Std in place of getopts.pl.

https://bugs.gentoo.org/show_bug.cgi?id=420083

which following error:
/usr/bin/perl -w ./../msggen.pl -l jstyleModule InterpreterMessages.msg
/usr/bin/perl -w ./../msggen.pl -l jstyleModule DssslAppMessages.msg
Undefined subroutine &main::Getopts called at ./../msggen.pl line 22.
make[2]: *** [InterpreterMessages.h] Error 2
make[2]: *** Waiting for unfinished jobs....
Undefined subroutine &main::Getopts called at ./../msggen.pl line 22.
make[2]: *** [DssslAppMessages.h] Error 2

Signed-off-by: Dennis Lan <dennis.yxun@gmail.com>
---
 .../openjade/openjade-1.3.2/msggen.pl.patch        |   44 ++++++++++++++++++++
 .../openjade/openjade-native_1.3.2.bb              |    1 +
 2 files changed, 45 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch
Martin Jansa - July 3, 2012, 12:59 p.m.
On Tue, Jul 03, 2012 at 12:09:46AM -0700, Saul Wold wrote:
> From: Dennis Lan <dennis.yxun@gmail.com>
> 
> Using Gentoo Linux as the build host, it fails without this patch
> Use Getopt::Std in place of getopts.pl.

This looks like older version (v2 instead of v3) without PR bump.

> 
> https://bugs.gentoo.org/show_bug.cgi?id=420083
> 
> which following error:
> /usr/bin/perl -w ./../msggen.pl -l jstyleModule InterpreterMessages.msg
> /usr/bin/perl -w ./../msggen.pl -l jstyleModule DssslAppMessages.msg
> Undefined subroutine &main::Getopts called at ./../msggen.pl line 22.
> make[2]: *** [InterpreterMessages.h] Error 2
> make[2]: *** Waiting for unfinished jobs....
> Undefined subroutine &main::Getopts called at ./../msggen.pl line 22.
> make[2]: *** [DssslAppMessages.h] Error 2
> 
> Signed-off-by: Dennis Lan <dennis.yxun@gmail.com>
> ---
>  .../openjade/openjade-1.3.2/msggen.pl.patch        |   44 ++++++++++++++++++++
>  .../openjade/openjade-native_1.3.2.bb              |    1 +
>  2 files changed, 45 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch
> 
> diff --git a/meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch b/meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch
> new file mode 100644
> index 0000000..b47fd46
> --- /dev/null
> +++ b/meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch
> @@ -0,0 +1,44 @@
> +commit fcc5b94f118495b1a467edcda6c6f631691c3f69
> +Author: Dennis Lan <dennis.yxun@gmail.com>
> +Date:   Tue Jul 3 09:25:42 2012 +0800
> +
> +    openjade: fix undefined Getopts error, use std namespace
> +    
> +    Using Gentoo Linux as the build host, it fails without this patch
> +    Use Getopt::Std in place of getopts.pl.
> +    
> +    Upstream-Status: Inappropriate [no upstream]
> +    Original-Author-By: Mike Gilbert <floppym@gentoo.org>
> +    Signed-off-by: Dennis Lan <dennis.yxun@gmail.com>
> +
> +diff --git a/msggen.pl b/msggen.pl
> +index 0c33968..2ee3f66 100644
> +--- a/msggen.pl
> ++++ b/msggen.pl
> +@@ -4,6 +4,7 @@
> + # See the file COPYING for copying permission.
> + 
> + use POSIX;
> ++use Getopt::Std;
> + 
> + # Package and version.
> + $package = 'openjade';
> +@@ -18,8 +19,7 @@ $gen_c = 0;
> + undef $opt_l;
> + undef $opt_p;
> + undef $opt_t;
> +-do 'getopts.pl';
> +-&Getopts('l:p:t:');
> ++getopts('l:p:t:');
> + $module = $opt_l;
> + $pot_file = $opt_p;
> + 
> +@@ -72,7 +72,7 @@ while (<DEF>) {
> +     else {
> + 	$field[0] =~ /^[IWQXE][0-9]$/ || &error("invalid first field");;
> + 	$type[$num] = substr($field[0], 0, 1);
> +-	$argc = int(substr($field[0], 1, 1));
> ++	$argc = substr($field[0], 1, 1);
> +     }
> +     $nargs[$num] = $argc;
> +     $field[1] =~ /^[a-zA-Z_][a-zA-Z0-9_]+$/ || &error("invalid tag");
> diff --git a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
> index 5b29c1f..efd1e11 100644
> --- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
> +++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
> @@ -14,6 +14,7 @@ RDEPENDS_${PN} = "sgml-common-native"
>  
>  SRC_URI = "${SOURCEFORGE_MIRROR}/openjade/openjade-${PV}.tar.gz \
>             file://makefile.patch \
> +           file://msggen.pl.patch \
>             file://reautoconf.patch \
>  	   file://user-declared-default-constructor.patch"
>  
> -- 
> 1.7.7.6
> 
> 
> _______________________________________________
> 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/openjade/openjade-1.3.2/msggen.pl.patch b/meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch
new file mode 100644
index 0000000..b47fd46
--- /dev/null
+++ b/meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch
@@ -0,0 +1,44 @@ 
+commit fcc5b94f118495b1a467edcda6c6f631691c3f69
+Author: Dennis Lan <dennis.yxun@gmail.com>
+Date:   Tue Jul 3 09:25:42 2012 +0800
+
+    openjade: fix undefined Getopts error, use std namespace
+    
+    Using Gentoo Linux as the build host, it fails without this patch
+    Use Getopt::Std in place of getopts.pl.
+    
+    Upstream-Status: Inappropriate [no upstream]
+    Original-Author-By: Mike Gilbert <floppym@gentoo.org>
+    Signed-off-by: Dennis Lan <dennis.yxun@gmail.com>
+
+diff --git a/msggen.pl b/msggen.pl
+index 0c33968..2ee3f66 100644
+--- a/msggen.pl
++++ b/msggen.pl
+@@ -4,6 +4,7 @@
+ # See the file COPYING for copying permission.
+ 
+ use POSIX;
++use Getopt::Std;
+ 
+ # Package and version.
+ $package = 'openjade';
+@@ -18,8 +19,7 @@ $gen_c = 0;
+ undef $opt_l;
+ undef $opt_p;
+ undef $opt_t;
+-do 'getopts.pl';
+-&Getopts('l:p:t:');
++getopts('l:p:t:');
+ $module = $opt_l;
+ $pot_file = $opt_p;
+ 
+@@ -72,7 +72,7 @@ while (<DEF>) {
+     else {
+ 	$field[0] =~ /^[IWQXE][0-9]$/ || &error("invalid first field");;
+ 	$type[$num] = substr($field[0], 0, 1);
+-	$argc = int(substr($field[0], 1, 1));
++	$argc = substr($field[0], 1, 1);
+     }
+     $nargs[$num] = $argc;
+     $field[1] =~ /^[a-zA-Z_][a-zA-Z0-9_]+$/ || &error("invalid tag");
diff --git a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
index 5b29c1f..efd1e11 100644
--- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
+++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
@@ -14,6 +14,7 @@  RDEPENDS_${PN} = "sgml-common-native"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/openjade/openjade-${PV}.tar.gz \
            file://makefile.patch \
+           file://msggen.pl.patch \
            file://reautoconf.patch \
 	   file://user-declared-default-constructor.patch"