Patchwork [v3] openjade-native: fix undefined Getopts error, use std namespace

login
register
mail settings
Submitter Dennis Lan
Date July 3, 2012, 7:03 a.m.
Message ID <1341299026-10073-1-git-send-email-dennis.yxun@gmail.com>
Download mbox | patch
Permalink /patch/31045/
State Accepted
Commit 169a89b10817b742c063fcd76721e4dbbcca6199
Headers show

Comments

Dennis Lan - July 3, 2012, 7:03 a.m.
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              |    3 +-
 2 files changed, 46 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch
Saul Wold - July 3, 2012, 5:34 p.m.
On 07/03/2012 12:03 AM, Dennis Lan wrote:
> 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              |    3 +-
>   2 files changed, 46 insertions(+), 1 deletions(-)
>   create mode 100644 meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch
>

Thanks for fixing up the patch header

Merged into OE-Core

Thanks
	Sau!


> 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..a539c35 100644
> --- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
> +++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
> @@ -7,13 +7,14 @@ SECTION = "base"
>   LICENSE = "BSD"
>   LIC_FILES_CHKSUM = "file://COPYING;md5=641ff1e4511f0a87044ad42f87cb1045"
>
> -PR = "r4"
> +PR = "r5"
>
>   DEPENDS = "opensp-native sgml-common-native"
>   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"
>

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..a539c35 100644
--- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
+++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
@@ -7,13 +7,14 @@  SECTION = "base"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=641ff1e4511f0a87044ad42f87cb1045"
 
-PR = "r4"
+PR = "r5"
 
 DEPENDS = "opensp-native sgml-common-native"
 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"