All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES
@ 2014-07-18 13:43 Francois Perrad
  2014-07-18 13:43 ` [Buildroot] [PATCH 2/4] perl-gd: new package Francois Perrad
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Francois Perrad @ 2014-07-18 13:43 UTC (permalink / raw)
  To: buildroot

from the MANIFEST

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 docs/manual/adding-packages-perl.txt |  3 ---
 support/scripts/scancpan             | 30 +++++++++++++++++++++++++-----
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/docs/manual/adding-packages-perl.txt b/docs/manual/adding-packages-perl.txt
index d1a1616..9a3df4d 100644
--- a/docs/manual/adding-packages-perl.txt
+++ b/docs/manual/adding-packages-perl.txt
@@ -53,9 +53,6 @@ requested package, and also recursively for all dependencies specified by
 CPAN. You should still manually edit the result. In particular, the
 following things should be checked.
 
-* The +PERL_FOO_BAR_LICENSE_FILES+ variable is not set, because metacpan
-  doesn't have this information. Also, the name of the license file(s)
-  varies between packages, and some don't even have a license file.
 * If the perl module links with a shared library that is provided by
   another (non-perl) package, this dependency is not added automatically.
   It has to be added manually to +PERL_FOO_BAR_DEPENDENCIES+.
diff --git a/support/scripts/scancpan b/support/scripts/scancpan
index d683f88..1280e75 100755
--- a/support/scripts/scancpan
+++ b/support/scripts/scancpan
@@ -503,17 +503,33 @@ my %need_host;          # name -> 1 if host package is needed
 my %need_dlopen;        # name -> 1 if requires dynamic library
 my %deps_build;         # name -> list of host dependencies
 my %deps_runtime;       # name -> list of target dependencies
+my %license_files;      # neam -> list of license files
 my $mcpan = MetaCPAN::API::Tiny->new();
 my $ua = HTTP::Tiny->new();
 
-sub is_xs {
+sub get_manifest {
     my ($author, $distname, $version) = @_;
+    my $url = qq{http://api.metacpan.org/source/${author}/${distname}-${version}/MANIFEST};
+    my $response = $ua->get($url);
+    return $response->{content};
+}
+
+sub is_xs {
+    my ($manifest) = @_;
     # This heuristic determines if a module is a native extension, by searching
     # some file extension types in the MANIFEST of the distribution.
     # It was inspired by http://deps.cpantesters.org/static/purity.html
-    my $url = qq{http://api.metacpan.org/source/${author}/${distname}-${version}/MANIFEST};
-    my $response = $ua->get($url);
-    return $response->{content} =~ m/\.(swg|xs|c|h|i)\n/;
+    return $manifest =~ m/\.(swg|xs|c|h|i)\n/;
+}
+
+sub find_license_files {
+    my ($manifest) = @_;
+    my @license_files;
+    foreach (split /\n/, $manifest) {
+        next if m|/|;
+        push @license_files, $_ if m/(ARTISTIC|COPYING|COPYRIGHT|LICENSE)/i;
+    }
+    return \@license_files;
 }
 
 sub fetch {
@@ -524,7 +540,9 @@ sub fetch {
         say qq{fetch ${name}} unless $quiet;
         my $result = $mcpan->release( distribution => $name );
         $dist{$name} = $result;
-        $need_dlopen{$name} = is_xs( $result->{author}, $name, $result->{version} );
+        my $manifest = get_manifest( $result->{author}, $name, $result->{version} );
+        $need_dlopen{$name} = is_xs( $manifest );
+        $license_files{$name} = find_license_files( $manifest );
         my @deps_build = ();
         my @deps_runtime = ();
         my $mb;
@@ -629,6 +647,7 @@ while (my ($distname, $dist) = each %dist) {
         $license =~ s|artistic_2|Artistic-2.0|;
         $license =~ s|openssl|OpenSSL|;
         $license =~ s|perl_5|Artistic or GPLv1+|;
+        my $license_files = join q{ }, @{$license_files{$distname}};
         say qq{write ${mkname}} unless $quiet;
         open my $fh, q{>}, $mkname;
         say {$fh} qq{################################################################################};
@@ -643,6 +662,7 @@ while (my ($distname, $dist) = each %dist) {
         say {$fh} qq{${brname}_DEPENDENCIES = ${dependencies}} if $need_target{$distname};
         say {$fh} qq{HOST_${brname}_DEPENDENCIES = ${host_dependencies}} if $need_host{$distname};
         say {$fh} qq{${brname}_LICENSE = ${license}} if $license && $license ne q{unknown};
+        say {$fh} qq{${brname}_LICENSE_FILES = ${license_files}} if $license_files;
         say {$fh} qq{};
         say {$fh} qq{\$(eval \$(perl-package))} if $need_target{$distname};
         say {$fh} qq{\$(eval \$(host-perl-package))} if $need_host{$distname};
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 2/4] perl-gd: new package
  2014-07-18 13:43 [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES Francois Perrad
@ 2014-07-18 13:43 ` Francois Perrad
  2014-07-18 17:51   ` Thomas Petazzoni
  2014-07-19 19:58   ` Yann E. MORIN
  2014-07-18 13:43 ` [Buildroot] [PATCH 3/4] perl-gdtextutil: " Francois Perrad
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 17+ messages in thread
From: Francois Perrad @ 2014-07-18 13:43 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Config.in                           |  1 +
 package/perl-gd/Config.in                   | 14 ++++++++++
 package/perl-gd/perl-gd-01-getoptions.patch | 40 +++++++++++++++++++++++++++++
 package/perl-gd/perl-gd-02-lgd.patch        | 25 ++++++++++++++++++
 package/perl-gd/perl-gd-03-force.patch      | 29 +++++++++++++++++++++
 package/perl-gd/perl-gd.mk                  | 22 ++++++++++++++++
 6 files changed, 131 insertions(+)
 create mode 100644 package/perl-gd/Config.in
 create mode 100644 package/perl-gd/perl-gd-01-getoptions.patch
 create mode 100644 package/perl-gd/perl-gd-02-lgd.patch
 create mode 100644 package/perl-gd/perl-gd-03-force.patch
 create mode 100644 package/perl-gd/perl-gd.mk

diff --git a/package/Config.in b/package/Config.in
index 22ddea8..09f5cdb 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -430,6 +430,7 @@ endif
 	source "package/perl/Config.in"
 if BR2_PACKAGE_PERL
 menu "Perl libraries/modules"
+	source "package/perl-gd/Config.in"
 	source "package/perl-io-socket-ssl/Config.in"
 	source "package/perl-mojolicious/Config.in"
 	source "package/perl-net-ssleay/Config.in"
diff --git a/package/perl-gd/Config.in b/package/perl-gd/Config.in
new file mode 100644
index 0000000..7c85cfc
--- /dev/null
+++ b/package/perl-gd/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_PERL_GD
+	bool "perl-gd"
+	depends on !BR2_PREFER_STATIC_LIB
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_LIBPNG
+	select BR2_PACKAGE_FREETYPE
+	select BR2_PACKAGE_GD
+	help
+	  Interface to Gd Graphics Library
+
+	  https://metacpan.org/release/GD
+
+comment "perl-gd needs a toolchain w/ dynamic library"
+	depends on BR2_PREFER_STATIC_LIB
diff --git a/package/perl-gd/perl-gd-01-getoptions.patch b/package/perl-gd/perl-gd-01-getoptions.patch
new file mode 100644
index 0000000..b9f39bd
--- /dev/null
+++ b/package/perl-gd/perl-gd-01-getoptions.patch
@@ -0,0 +1,40 @@
+fix option handling in Makefile.PL
+
+the call to GetOptions() must be unique.
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+see https://github.com/lstein/Perl-GD/pull/6
+
+Index: b/Makefile.PL
+===================================================================
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -24,7 +24,15 @@
+ my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force);
+ 
+ use Getopt::Long;
+-GetOptions("ignore_missing_gd" => \$force);
++my $result = GetOptions("options=s"         => \$options,
++			"lib_gd_path=s"     => \$lib_gd_path,
++			"lib_ft_path=s"     => \$lib_ft_path,
++			"lib_png_path=s"    => \$lib_png_path,
++			"lib_jpeg_path=s"   => \$lib_jpeg_path,
++			"lib_xpm_path=s"    => \$lib_xpm_path,
++			"lib_zlib_path=s"   => \$lib_zlib_path,
++			"ignore_missing_gd" => \$force,
++		       );
+ 
+ unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS) || $force) {
+     die <<END;
+@@ -47,14 +55,6 @@
+ #############################################################################################
+ # Build options passed in to script to support reproducible builds via Makefiles
+ #############################################################################################
+-my $result = GetOptions("options=s"       => \$options,
+-			"lib_gd_path=s"   => \$lib_gd_path,
+-			"lib_ft_path=s"   => \$lib_ft_path,
+-			"lib_png_path=s"  => \$lib_png_path,
+-			"lib_jpeg_path=s" => \$lib_jpeg_path,
+-			"lib_xpm_path=s"  => \$lib_xpm_path,
+-			"lib_zlib_path=s" => \$lib_zlib_path,
+-		       );
+ unless ($result) {
+   print STDERR <<END;
+ Usage: perl Makefile.PL [options]
diff --git a/package/perl-gd/perl-gd-02-lgd.patch b/package/perl-gd/perl-gd-02-lgd.patch
new file mode 100644
index 0000000..1c8fe7b
--- /dev/null
+++ b/package/perl-gd/perl-gd-02-lgd.patch
@@ -0,0 +1,25 @@
+refactor -lgd in @LIBS
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+see https://github.com/lstein/Perl-GD/pull/7
+
+Index: b/Makefile.PL
+===================================================================
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -34,9 +34,9 @@
+ END
+ }
+ 
++push @LIBS, "-lgd";
+ @INC     = qw(-I/usr/include -I/usr/include/gd) unless @INC;
+ @LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH;
+- at LIBS    = qw(-lgd) unless @LIBS;
+ 
+ # support for AMD64 libraries
+ if (-d '/usr/lib64') {
+@@ -291,7 +291,6 @@
+   @$LIBPATH      = map {s/^-L// && "-L$_"} split /\s+/,$ldflags;
+   @$LIBS         = split /\s+/,$libs;
+ 
+-  push @$LIBS,"-lgd";
+   push @$LIBPATH,"-L$libdir";
+   ($$lib_gd_path = $libdir) =~ s!/[^/]+$!!;
+   $$options      = $features;
diff --git a/package/perl-gd/perl-gd-03-force.patch b/package/perl-gd/perl-gd-03-force.patch
new file mode 100644
index 0000000..908226b
--- /dev/null
+++ b/package/perl-gd/perl-gd-03-force.patch
@@ -0,0 +1,29 @@
+let @INC and @LIBPATH empty when ignore_missing_gd
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+see https://github.com/lstein/Perl-GD/pull/7
+
+Index: b/Makefile.PL
+===================================================================
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -35,13 +35,15 @@
+ }
+ 
+ push @LIBS, "-lgd";
+- at INC     = qw(-I/usr/include -I/usr/include/gd) unless @INC;
+- at LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH;
+-
+-# support for AMD64 libraries
+-if (-d '/usr/lib64') {
+-  my @libs64 = map {my $a = $_; $a=~ s/lib$/lib64/; $a} @LIBPATH;
+-  @LIBPATH = (@LIBPATH, at libs64);
++unless ($force) {
++  @INC     = qw(-I/usr/include -I/usr/include/gd) unless @INC;
++  @LIBPATH = qw(-L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/lib) unless @LIBPATH;
++
++  # support for AMD64 libraries
++  if (-d '/usr/lib64') {
++    my @libs64 = map {my $a = $_; $a=~ s/lib$/lib64/; $a} @LIBPATH;
++    @LIBPATH = (@LIBPATH, at libs64);
++  }
+ }
+ 
+ #############################################################################################
diff --git a/package/perl-gd/perl-gd.mk b/package/perl-gd/perl-gd.mk
new file mode 100644
index 0000000..8bb6778
--- /dev/null
+++ b/package/perl-gd/perl-gd.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# perl-gd
+#
+################################################################################
+
+PERL_GD_VERSION = 2.53
+PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz
+PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS/
+PERL_GD_DEPENDENCIES = perl zlib libpng freetype gd
+PERL_GD_LICENSE = Artistic-2.0 or GPLv1+
+PERL_GD_LICENSE_FILES = LICENSE
+
+PERL_GD_CONF_OPT = \
+	-options=FT,PNG \
+	-lib_gd_path=$(STAGING_DIR)/usr \
+	-lib_ft_path=$(STAGING_DIR)/usr \
+	-lib_png_path=$(STAGING_DIR)/usr \
+	-lib_zlib_path=$(STAGING_DIR)/usr \
+	-ignore_missing_gd
+
+$(eval $(perl-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 3/4] perl-gdtextutil: new package
  2014-07-18 13:43 [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES Francois Perrad
  2014-07-18 13:43 ` [Buildroot] [PATCH 2/4] perl-gd: new package Francois Perrad
@ 2014-07-18 13:43 ` Francois Perrad
  2014-07-18 13:43 ` [Buildroot] [PATCH 4/4] perl-gdgraph: " Francois Perrad
  2014-07-18 17:47 ` [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES Thomas Petazzoni
  3 siblings, 0 replies; 17+ messages in thread
From: Francois Perrad @ 2014-07-18 13:43 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Config.in                          |  1 +
 package/perl-gdtextutil/Config.in          |  6 ++++++
 package/perl-gdtextutil/perl-gdtextutil.mk | 13 +++++++++++++
 3 files changed, 20 insertions(+)
 create mode 100644 package/perl-gdtextutil/Config.in
 create mode 100644 package/perl-gdtextutil/perl-gdtextutil.mk

diff --git a/package/Config.in b/package/Config.in
index 09f5cdb..701b021 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -431,6 +431,7 @@ endif
 if BR2_PACKAGE_PERL
 menu "Perl libraries/modules"
 	source "package/perl-gd/Config.in"
+	source "package/perl-gdtextutil/Config.in"
 	source "package/perl-io-socket-ssl/Config.in"
 	source "package/perl-mojolicious/Config.in"
 	source "package/perl-net-ssleay/Config.in"
diff --git a/package/perl-gdtextutil/Config.in b/package/perl-gdtextutil/Config.in
new file mode 100644
index 0000000..9baf0a0
--- /dev/null
+++ b/package/perl-gdtextutil/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PERL_GDTEXTUTIL
+	bool "perl-gdtextutil"
+	help
+	  Text utilities for use with GD
+
+	  https://metacpan.org/release/GDTextUtil
diff --git a/package/perl-gdtextutil/perl-gdtextutil.mk b/package/perl-gdtextutil/perl-gdtextutil.mk
new file mode 100644
index 0000000..ad18118
--- /dev/null
+++ b/package/perl-gdtextutil/perl-gdtextutil.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# perl-gdtextutil
+#
+################################################################################
+
+PERL_GDTEXTUTIL_VERSION = 0.86
+PERL_GDTEXTUTIL_SOURCE = GDTextUtil-$(PERL_GDTEXTUTIL_VERSION).tar.gz
+PERL_GDTEXTUTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MV/MVERB/
+PERL_GDTEXTUTIL_DEPENDENCIES = perl
+PERL_GDTEXTUTIL_LICENSE_FILES = Dustismo.LICENSE
+
+$(eval $(perl-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 4/4] perl-gdgraph: new package
  2014-07-18 13:43 [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES Francois Perrad
  2014-07-18 13:43 ` [Buildroot] [PATCH 2/4] perl-gd: new package Francois Perrad
  2014-07-18 13:43 ` [Buildroot] [PATCH 3/4] perl-gdtextutil: " Francois Perrad
@ 2014-07-18 13:43 ` Francois Perrad
  2014-07-19 17:10   ` Thomas Petazzoni
  2014-07-18 17:47 ` [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES Thomas Petazzoni
  3 siblings, 1 reply; 17+ messages in thread
From: Francois Perrad @ 2014-07-18 13:43 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/Config.in                    |  1 +
 package/perl-gdgraph/Config.in       | 12 ++++++++++++
 package/perl-gdgraph/perl-gdgraph.mk | 14 ++++++++++++++
 3 files changed, 27 insertions(+)
 create mode 100644 package/perl-gdgraph/Config.in
 create mode 100644 package/perl-gdgraph/perl-gdgraph.mk

diff --git a/package/Config.in b/package/Config.in
index 701b021..15911c9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -431,6 +431,7 @@ endif
 if BR2_PACKAGE_PERL
 menu "Perl libraries/modules"
 	source "package/perl-gd/Config.in"
+	source "package/perl-gdgraph/Config.in"
 	source "package/perl-gdtextutil/Config.in"
 	source "package/perl-io-socket-ssl/Config.in"
 	source "package/perl-mojolicious/Config.in"
diff --git a/package/perl-gdgraph/Config.in b/package/perl-gdgraph/Config.in
new file mode 100644
index 0000000..e722c06
--- /dev/null
+++ b/package/perl-gdgraph/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_PERL_GDGRAPH
+	bool "perl-gdgraph"
+	depends on !BR2_PREFER_STATIC_LIB
+	select BR2_PACKAGE_PERL_GD
+	select BR2_PACKAGE_PERL_GDTEXTUTIL
+	help
+	  Produces charts with GD
+
+	  https://metacpan.org/release/GDGraph
+
+comment "perl-gdgraph needs a toolchain w/ dynamic library"
+	depends on BR2_PREFER_STATIC_LIB
diff --git a/package/perl-gdgraph/perl-gdgraph.mk b/package/perl-gdgraph/perl-gdgraph.mk
new file mode 100644
index 0000000..856c91c
--- /dev/null
+++ b/package/perl-gdgraph/perl-gdgraph.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# perl-gdgraph
+#
+################################################################################
+
+PERL_GDGRAPH_VERSION = 1.48
+PERL_GDGRAPH_SOURCE = GDGraph-$(PERL_GDGRAPH_VERSION).tar.gz
+PERL_GDGRAPH_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RUZ/
+PERL_GDGRAPH_DEPENDENCIES = perl perl-gd perl-gdtextutil
+PERL_GDGRAPH_LICENSE = Artistic or GPLv1+
+PERL_GDGRAPH_LICENSE_FILES = Dustismo.LICENSE
+
+$(eval $(perl-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES
  2014-07-18 13:43 [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES Francois Perrad
                   ` (2 preceding siblings ...)
  2014-07-18 13:43 ` [Buildroot] [PATCH 4/4] perl-gdgraph: " Francois Perrad
@ 2014-07-18 17:47 ` Thomas Petazzoni
  3 siblings, 0 replies; 17+ messages in thread
From: Thomas Petazzoni @ 2014-07-18 17:47 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Fri, 18 Jul 2014 15:43:36 +0200, Francois Perrad wrote:
> from the MANIFEST

Please, please, better commit logs. The core of the commit log is not
supposed to be a continuation of the commit title.

Anyway, I've fixed that and applied, but next time: better commit logs!

You can read
http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
for some recommendations on how to write git commit logs.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 2/4] perl-gd: new package
  2014-07-18 13:43 ` [Buildroot] [PATCH 2/4] perl-gd: new package Francois Perrad
@ 2014-07-18 17:51   ` Thomas Petazzoni
  2014-07-19 19:58   ` Yann E. MORIN
  1 sibling, 0 replies; 17+ messages in thread
From: Thomas Petazzoni @ 2014-07-18 17:51 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Fri, 18 Jul 2014 15:43:37 +0200, Francois Perrad wrote:
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  package/Config.in                           |  1 +
>  package/perl-gd/Config.in                   | 14 ++++++++++
>  package/perl-gd/perl-gd-01-getoptions.patch | 40 +++++++++++++++++++++++++++++
>  package/perl-gd/perl-gd-02-lgd.patch        | 25 ++++++++++++++++++
>  package/perl-gd/perl-gd-03-force.patch      | 29 +++++++++++++++++++++
>  package/perl-gd/perl-gd.mk                  | 22 ++++++++++++++++
>  6 files changed, 131 insertions(+)
>  create mode 100644 package/perl-gd/Config.in
>  create mode 100644 package/perl-gd/perl-gd-01-getoptions.patch
>  create mode 100644 package/perl-gd/perl-gd-02-lgd.patch
>  create mode 100644 package/perl-gd/perl-gd-03-force.patch
>  create mode 100644 package/perl-gd/perl-gd.mk

Thanks, applied, as well as patches 3 and 4.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 4/4] perl-gdgraph: new package
  2014-07-18 13:43 ` [Buildroot] [PATCH 4/4] perl-gdgraph: " Francois Perrad
@ 2014-07-19 17:10   ` Thomas Petazzoni
  2014-07-19 20:28     ` François Perrad
  0 siblings, 1 reply; 17+ messages in thread
From: Thomas Petazzoni @ 2014-07-19 17:10 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Fri, 18 Jul 2014 15:43:39 +0200, Francois Perrad wrote:
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  package/Config.in                    |  1 +
>  package/perl-gdgraph/Config.in       | 12 ++++++++++++
>  package/perl-gdgraph/perl-gdgraph.mk | 14 ++++++++++++++
>  3 files changed, 27 insertions(+)
>  create mode 100644 package/perl-gdgraph/Config.in
>  create mode 100644 package/perl-gdgraph/perl-gdgraph.mk

This package does not build:

  http://autobuild.buildroot.org/results/3e1/3e1698b0523dfa46f5b3ee03a22af820f7342c39/build-end.log

The error is:

Warning: prerequisite GD 1.18 not found.
Warning: prerequisite GD::Text 0.80 not found.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 2/4] perl-gd: new package
  2014-07-18 13:43 ` [Buildroot] [PATCH 2/4] perl-gd: new package Francois Perrad
  2014-07-18 17:51   ` Thomas Petazzoni
@ 2014-07-19 19:58   ` Yann E. MORIN
  2014-07-19 23:16     ` Yann E. MORIN
  1 sibling, 1 reply; 17+ messages in thread
From: Yann E. MORIN @ 2014-07-19 19:58 UTC (permalink / raw)
  To: buildroot

Fran?ois, All,

On 2014-07-18 15:43 +0200, Francois Perrad spake thusly:
[--SNIP--]
> diff --git a/package/perl-gd/Config.in b/package/perl-gd/Config.in
> new file mode 100644
> index 0000000..7c85cfc
> --- /dev/null
> +++ b/package/perl-gd/Config.in
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_PERL_GD
> +	bool "perl-gd"
> +	depends on !BR2_PREFER_STATIC_LIB
> +	select BR2_PACKAGE_ZLIB
> +	select BR2_PACKAGE_LIBPNG
> +	select BR2_PACKAGE_FREETYPE
> +	select BR2_PACKAGE_GD

It looks like there are still issues with search paths, which include
path to the host system libraries:
    http://autobuild.buildroot.org/results/336/33633a683227ebce620cb4b4561cfe7d7cbf4ba8/build-end.log

Extract of a failed build log:

    LD_RUN_PATH="/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib"
    /scratch/peko/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc
    -shared  GD.o  -o blib/arch/auto/GD/GD.so       \
    -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
    -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
    -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
    -L/usr/lib -L/usr/lib -lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng12
    -lz -lm -lgd

    /usr/lib/libXpm.so: file not recognized: File format not recognized

Notice how it is looking for libs in -L/usr/lib -L/usr/lib.

Since xlib_libXpm and xlib_libX11, as well as fontconfig and jpeg are
not enabled in this build, and that we do not package libpng-1.2, it
will try to link with all these libs: -lXpm -lX11 -ljpeg -lfontconfig
-lpng12 using the host ones.

Maybe we should explicitly idsable those deps if the corresponding
packages are not enabled, no?

I'll be looking at it, but if I can't find anything obvious, I'll let
you, Fran?ois, look into that.

Well, I already found that Makefile.PL has hardcoded paths to the host
system, but they all seem conditional to something; I'll see if we can
trigger (or not trigger) those conditions.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 4/4] perl-gdgraph: new package
  2014-07-19 17:10   ` Thomas Petazzoni
@ 2014-07-19 20:28     ` François Perrad
  2014-07-19 22:35       ` Yann E. MORIN
  0 siblings, 1 reply; 17+ messages in thread
From: François Perrad @ 2014-07-19 20:28 UTC (permalink / raw)
  To: buildroot

2014-07-19 19:10 GMT+02:00 Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>:
> Dear Francois Perrad,
>
> On Fri, 18 Jul 2014 15:43:39 +0200, Francois Perrad wrote:
>> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
>> ---
>>  package/Config.in                    |  1 +
>>  package/perl-gdgraph/Config.in       | 12 ++++++++++++
>>  package/perl-gdgraph/perl-gdgraph.mk | 14 ++++++++++++++
>>  3 files changed, 27 insertions(+)
>>  create mode 100644 package/perl-gdgraph/Config.in
>>  create mode 100644 package/perl-gdgraph/perl-gdgraph.mk
>
> This package does not build:
>
>   http://autobuild.buildroot.org/results/3e1/3e1698b0523dfa46f5b3ee03a22af820f7342c39/build-end.log
>
> The error is:
>
> Warning: prerequisite GD 1.18 not found.
> Warning: prerequisite GD::Text 0.80 not found.
>

No, the error is :

   only nested arrays of non-refs are supported at
/usr/share/perl/5.10/ExtUtils/MakeMaker.pm line 664

And I could reproduce it on my box, with a host perl 5.10.1

Fran?ois

> Thanks,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 4/4] perl-gdgraph: new package
  2014-07-19 20:28     ` François Perrad
@ 2014-07-19 22:35       ` Yann E. MORIN
  2014-07-19 22:44         ` Bernd Kuhls
                           ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: Yann E. MORIN @ 2014-07-19 22:35 UTC (permalink / raw)
  To: buildroot

Fran?ois, All,

On 2014-07-19 22:28 +0200, Fran?ois Perrad spake thusly:
> 2014-07-19 19:10 GMT+02:00 Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com>:
> > This package does not build:
> >   http://autobuild.buildroot.org/results/3e1/3e1698b0523dfa46f5b3ee03a22af820f7342c39/build-end.log
> No, the error is :
> 
>    only nested arrays of non-refs are supported at
> /usr/share/perl/5.10/ExtUtils/MakeMaker.pm line 664
> 
> And I could reproduce it on my box, with a host perl 5.10.1

Does that mean we should have our own host-perl, then?

It would guarantee that we have a known situation, where we control the
version of perl and we can reproduce builds across machines with
different versions of perl and a known list of installed modules and
their versions.

It would also allow tweaking the search paths to no longer include the
host system includes and libraries search paths (although it won't
protect us from badly written packages, such as perl-net-ssleay.)

But we can ensure that dependencies on other perl modules won't
accidentally find host system perl's modules.

This might be a big endeavour, but even if we only build our own
host-perl, that's still a big improvement, and needs only little changes
to our current perl infra, i.e. just calling our own perl.

We can later enhance the situation by gradually tweaking our host-perl.

What do you guys think of this?

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 4/4] perl-gdgraph: new package
  2014-07-19 22:35       ` Yann E. MORIN
@ 2014-07-19 22:44         ` Bernd Kuhls
  2014-07-20  7:52         ` François Perrad
  2014-07-29 21:29         ` Gustavo Zacarias
  2 siblings, 0 replies; 17+ messages in thread
From: Bernd Kuhls @ 2014-07-19 22:44 UTC (permalink / raw)
  To: buildroot

"Yann E. MORIN" <yann.morin.1998@free.fr> wrote in 
news:20140719223515.GL3593 at free.fr:

> This might be a big endeavour, but even if we only build our own
> host-perl, that's still a big improvement, and needs only little changes
> to our current perl infra, i.e. just calling our own perl.
> We can later enhance the situation by gradually tweaking our host-perl.
> What do you guys think of this?

Hi,

sounds good, +1. I am thinking about building spamassassin using buildroot 
some day. My last spamassassin build was done long time ago using a gcc build 
made for my target machine when buildroot still supported that.

Regards, Bernd

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 2/4] perl-gd: new package
  2014-07-19 19:58   ` Yann E. MORIN
@ 2014-07-19 23:16     ` Yann E. MORIN
  2014-07-20  6:00       ` François Perrad
  0 siblings, 1 reply; 17+ messages in thread
From: Yann E. MORIN @ 2014-07-19 23:16 UTC (permalink / raw)
  To: buildroot

Fran?ois, All,

On 2014-07-19 21:58 +0200, Yann E. MORIN spake thusly:
> On 2014-07-18 15:43 +0200, Francois Perrad spake thusly:
> [--SNIP--]
> > diff --git a/package/perl-gd/Config.in b/package/perl-gd/Config.in
> > new file mode 100644
> > index 0000000..7c85cfc
> > --- /dev/null
> > +++ b/package/perl-gd/Config.in
> > @@ -0,0 +1,14 @@
> > +config BR2_PACKAGE_PERL_GD
> > +	bool "perl-gd"
> > +	depends on !BR2_PREFER_STATIC_LIB
> > +	select BR2_PACKAGE_ZLIB
> > +	select BR2_PACKAGE_LIBPNG
> > +	select BR2_PACKAGE_FREETYPE
> > +	select BR2_PACKAGE_GD
> 
> It looks like there are still issues with search paths, which include
> path to the host system libraries:
>     http://autobuild.buildroot.org/results/336/33633a683227ebce620cb4b4561cfe7d7cbf4ba8/build-end.log
> 
> Extract of a failed build log:
> 
>     LD_RUN_PATH="/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib"
>     /scratch/peko/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc
>     -shared  GD.o  -o blib/arch/auto/GD/GD.so       \
>     -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
>     -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
>     -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
>     -L/usr/lib -L/usr/lib -lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng12
>     -lz -lm -lgd
> 
>     /usr/lib/libXpm.so: file not recognized: File format not recognized
> 
> Notice how it is looking for libs in -L/usr/lib -L/usr/lib.

I was not able to reproduce this buildfailure. The only occurences are
on Peter's machine, so maybe there is a peculirity with his setup.

Which only reinforces my stance on having our own host-perl.

Anyway, care to have a look at this issue, please? If not for a fix, at
least for an explanation. Thanks! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 2/4] perl-gd: new package
  2014-07-19 23:16     ` Yann E. MORIN
@ 2014-07-20  6:00       ` François Perrad
  2014-07-20 14:10         ` Yann E. MORIN
  0 siblings, 1 reply; 17+ messages in thread
From: François Perrad @ 2014-07-20  6:00 UTC (permalink / raw)
  To: buildroot

2014-07-20 1:16 GMT+02:00 Yann E. MORIN <yann.morin.1998@free.fr>:
> Fran?ois, All,
>
> On 2014-07-19 21:58 +0200, Yann E. MORIN spake thusly:
>> On 2014-07-18 15:43 +0200, Francois Perrad spake thusly:
>> [--SNIP--]
>> > diff --git a/package/perl-gd/Config.in b/package/perl-gd/Config.in
>> > new file mode 100644
>> > index 0000000..7c85cfc
>> > --- /dev/null
>> > +++ b/package/perl-gd/Config.in
>> > @@ -0,0 +1,14 @@
>> > +config BR2_PACKAGE_PERL_GD
>> > +   bool "perl-gd"
>> > +   depends on !BR2_PREFER_STATIC_LIB
>> > +   select BR2_PACKAGE_ZLIB
>> > +   select BR2_PACKAGE_LIBPNG
>> > +   select BR2_PACKAGE_FREETYPE
>> > +   select BR2_PACKAGE_GD
>>
>> It looks like there are still issues with search paths, which include
>> path to the host system libraries:
>>     http://autobuild.buildroot.org/results/336/33633a683227ebce620cb4b4561cfe7d7cbf4ba8/build-end.log
>>
>> Extract of a failed build log:
>>
>>     LD_RUN_PATH="/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib"
>>     /scratch/peko/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc
>>     -shared  GD.o  -o blib/arch/auto/GD/GD.so       \
>>     -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
>>     -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
>>     -L/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib
>>     -L/usr/lib -L/usr/lib -lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng12
>>     -lz -lm -lgd
>>
>>     /usr/lib/libXpm.so: file not recognized: File format not recognized
>>
>> Notice how it is looking for libs in -L/usr/lib -L/usr/lib.
>
> I was not able to reproduce this buildfailure. The only occurences are
> on Peter's machine, so maybe there is a peculirity with his setup.
>
> Which only reinforces my stance on having our own host-perl.
>
> Anyway, care to have a look at this issue, please? If not for a fix, at
> least for an explanation. Thanks! :-)
>

here, my analysis

perl-gd.mk contains :
    PERL_GD_CONF_OPT = \
    -options=FT,PNG \
    -lib_gd_path=$(STAGING_DIR)/usr \
    -lib_ft_path=$(STAGING_DIR)/usr \
    -lib_png_path=$(STAGING_DIR)/usr \
    -lib_zlib_path=$(STAGING_DIR)/usr \
    -ignore_missing_gd

when all these options are honored, the output of the configure step
looks like :

    Included Features:          FT,PNG
    GD library used from:
/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
    FreeType library used from:
/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
    PNG library used from:
/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
    Zlib library used from:
/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr

here, we have

    Included Features:          GD_XPM GD_JPEG GD_FONTCONFIG
GD_FREETYPE GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON GD_UNCLOSEDPOLY
GD_ANIMGIF GD_FTCIRCLE VERSION_33
    GD library used from:       /usr
    FreeType library used from:
/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
    PNG library used from:
/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
    Zlib library used from:
/scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr

so, at link time, we have problem with native libraries for GD, Gif,
Jpeg and Xpm.

Fran?ois


> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 4/4] perl-gdgraph: new package
  2014-07-19 22:35       ` Yann E. MORIN
  2014-07-19 22:44         ` Bernd Kuhls
@ 2014-07-20  7:52         ` François Perrad
  2014-07-29 21:29         ` Gustavo Zacarias
  2 siblings, 0 replies; 17+ messages in thread
From: François Perrad @ 2014-07-20  7:52 UTC (permalink / raw)
  To: buildroot

2014-07-20 0:35 GMT+02:00 Yann E. MORIN <yann.morin.1998@free.fr>:
> Fran?ois, All,
>
> On 2014-07-19 22:28 +0200, Fran?ois Perrad spake thusly:
>> 2014-07-19 19:10 GMT+02:00 Thomas Petazzoni
>> <thomas.petazzoni@free-electrons.com>:
>> > This package does not build:
>> >   http://autobuild.buildroot.org/results/3e1/3e1698b0523dfa46f5b3ee03a22af820f7342c39/build-end.log
>> No, the error is :
>>
>>    only nested arrays of non-refs are supported at
>> /usr/share/perl/5.10/ExtUtils/MakeMaker.pm line 664
>>
>> And I could reproduce it on my box, with a host perl 5.10.1
>
> Does that mean we should have our own host-perl, then?
>
> It would guarantee that we have a known situation, where we control the
> version of perl and we can reproduce builds across machines with
> different versions of perl and a known list of installed modules and
> their versions.
>
> It would also allow tweaking the search paths to no longer include the
> host system includes and libraries search paths (although it won't
> protect us from badly written packages, such as perl-net-ssleay.)
>

Sadly, our own host-perl doesn't help for module like Net-SSleay.
All Perl modules which wraps a C library, are definitely not written
with cross-compilation in mind.
There always use ugly hacks in configure step.

But, having our own host-perl could a goal for the BR 2014.11 release.

perl-gdgraph could be fixed with this patch
http://patchwork.ozlabs.org/patch/371863/
or just by downgrading to version 1.47.

Fran?ois

> But we can ensure that dependencies on other perl modules won't
> accidentally find host system perl's modules.
>
> This might be a big endeavour, but even if we only build our own
> host-perl, that's still a big improvement, and needs only little changes
> to our current perl infra, i.e. just calling our own perl.
>
> We can later enhance the situation by gradually tweaking our host-perl.
>
> What do you guys think of this?
>
> Regards,
> Yann E. MORIN.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 2/4] perl-gd: new package
  2014-07-20  6:00       ` François Perrad
@ 2014-07-20 14:10         ` Yann E. MORIN
  0 siblings, 0 replies; 17+ messages in thread
From: Yann E. MORIN @ 2014-07-20 14:10 UTC (permalink / raw)
  To: buildroot

Fran?ois, All,

On 2014-07-20 08:00 +0200, Fran?ois Perrad spake thusly:
> 2014-07-20 1:16 GMT+02:00 Yann E. MORIN <yann.morin.1998@free.fr>:
[--SNIP--]
> >> It looks like there are still issues with search paths, which include
> >> path to the host system libraries:
> >>     http://autobuild.buildroot.org/results/336/33633a683227ebce620cb4b4561cfe7d7cbf4ba8/build-end.log
[--SNIP--]
> > I was not able to reproduce this buildfailure. The only occurences are
> > on Peter's machine, so maybe there is a peculirity with his setup.
[--SNIP--]
> here, my analysis
> 
> perl-gd.mk contains :
>     PERL_GD_CONF_OPT = \
>     -options=FT,PNG \
>     -lib_gd_path=$(STAGING_DIR)/usr \
>     -lib_ft_path=$(STAGING_DIR)/usr \
>     -lib_png_path=$(STAGING_DIR)/usr \
>     -lib_zlib_path=$(STAGING_DIR)/usr \
>     -ignore_missing_gd
> 
> when all these options are honored, the output of the configure step
> looks like :
> 
>     Included Features:          FT,PNG
>     GD library used from:
> /scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
>     FreeType library used from:
> /scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
>     PNG library used from:
> /scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
>     Zlib library used from:
> /scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
> 
> here, we have
> 
>     Included Features:          GD_XPM GD_JPEG GD_FONTCONFIG
> GD_FREETYPE GD_PNG GD_GIF GD_GIFANIM GD_OPENPOLYGON GD_UNCLOSEDPOLY
> GD_ANIMGIF GD_FTCIRCLE VERSION_33
>     GD library used from:       /usr
>     FreeType library used from:
> /scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
>     PNG library used from:
> /scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
>     Zlib library used from:
> /scratch/peko/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr
> 
> so, at link time, we have problem with native libraries for GD, Gif,
> Jpeg and Xpm.

Yes, I did notice the differences between my build (which is like
yours), and the log from Peter's build. I even tried in a Squeeze-32
chroot, which has perl-5.10.1, but it still behaves as expected.

I was hoping you might have an idea on why it was behaving differently
in Peter's case. We will see this failure again and again on Peter's
autobuilder. We even have a new occurence of it:
    http://autobuild.buildroot.net/results/a5f/a5fa377288df604aaa49df0878d7dc4293648255/

So, it would be nice to at least understand what's going on.

Thanks!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [PATCH 4/4] perl-gdgraph: new package
  2014-07-19 22:35       ` Yann E. MORIN
  2014-07-19 22:44         ` Bernd Kuhls
  2014-07-20  7:52         ` François Perrad
@ 2014-07-29 21:29         ` Gustavo Zacarias
  2014-07-30 18:27           ` [Buildroot] [UNSURE]Re: " François Perrad
  2 siblings, 1 reply; 17+ messages in thread
From: Gustavo Zacarias @ 2014-07-29 21:29 UTC (permalink / raw)
  To: buildroot

On 07/19/2014 07:35 PM, Yann E. MORIN wrote:

Hi All.
Reviving this...

> Does that mean we should have our own host-perl, then?
> 
> It would guarantee that we have a known situation, where we control the
> version of perl and we can reproduce builds across machines with
> different versions of perl and a known list of installed modules and
> their versions.
> 
> It would also allow tweaking the search paths to no longer include the
> host system includes and libraries search paths (although it won't
> protect us from badly written packages, such as perl-net-ssleay.)
> 
> But we can ensure that dependencies on other perl modules won't
> accidentally find host system perl's modules.
> 
> This might be a big endeavour, but even if we only build our own
> host-perl, that's still a big improvement, and needs only little changes
> to our current perl infra, i.e. just calling our own perl.
> 
> We can later enhance the situation by gradually tweaking our host-perl.
> 
> What do you guys think of this?

Well according to my failur(es) on gentoo:

>>> perl-gd 2.53 Building
cd /home/gustavoz/b/perl/output/build/perl-gd-2.53/ && if [ -f Build.PL
] ; then perl Build  build; else /usr/bin/make -j1
PERL_INC=/home/gustavoz/b/perl/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/perl5/5.18.2/arm-linux/CORE
 pure_all; fi
make[1]: Entering directory
`/home/gustavoz/b/perl/output/build/perl-gd-2.53'
/usr/bin/perl5.18.2 GD/Image.pm.PLS GD/Image.pm
Extracting Image.pm (with variable substitutions)
cp GD/Image.pm blib/lib/GD/Image.pm
cp GD/Simple.pm blib/lib/GD/Simple.pm
cp GD.pm blib/lib/GD.pm
AutoSplitting blib/lib/GD.pm (blib/lib/auto/GD)
cp GD/Group.pm blib/lib/GD/Group.pm
cp GD/Polygon.pm blib/lib/GD/Polygon.pm
cp GD/Polyline.pm blib/lib/GD/Polyline.pm
cp qd.pl blib/lib/qd.pl
/usr/bin/perl5.18.2 /usr/lib64/perl5/5.18.2/ExtUtils/xsubpp  -typemap
/usr/lib64/perl5/5.18.2/ExtUtils/typemap -typemap typemap  GD.xs >
GD.xsc && mv GD.xsc GD.c
make[1]: *** No rule to make target
`/home/gustavoz/b/perl/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/perl5/5.18.2/arm-linux/CORE/patchlevel-gentoo.h',
needed by `GD.o'.  Stop.
make[1]: Leaving directory `/home/gustavoz/b/perl/output/build/perl-gd-2.53'
make: *** [/home/gustavoz/b/perl/output/build/perl-gd-2.53/.stamp_built]
Error 2

Stumbled upon this when looking at the perl-gd xpm failure.
And surprise, it fails for a bunch of other perl packages as well.
We may be able to work around that, but really it would be a volatile
hack. I'm all for saving build time but fishing in the ocean with lake
kit... please no.

+1 for host-perl.

Regards.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Buildroot] [UNSURE]Re:  [PATCH 4/4] perl-gdgraph: new package
  2014-07-29 21:29         ` Gustavo Zacarias
@ 2014-07-30 18:27           ` François Perrad
  0 siblings, 0 replies; 17+ messages in thread
From: François Perrad @ 2014-07-30 18:27 UTC (permalink / raw)
  To: buildroot

2014-07-29 23:29 GMT+02:00 Gustavo Zacarias <gustavo@zacarias.com.ar>:
> On 07/19/2014 07:35 PM, Yann E. MORIN wrote:
>
> Hi All.
> Reviving this...
>
>> Does that mean we should have our own host-perl, then?
>>
>> It would guarantee that we have a known situation, where we control the
>> version of perl and we can reproduce builds across machines with
>> different versions of perl and a known list of installed modules and
>> their versions.
>>
>> It would also allow tweaking the search paths to no longer include the
>> host system includes and libraries search paths (although it won't
>> protect us from badly written packages, such as perl-net-ssleay.)
>>
>> But we can ensure that dependencies on other perl modules won't
>> accidentally find host system perl's modules.
>>
>> This might be a big endeavour, but even if we only build our own
>> host-perl, that's still a big improvement, and needs only little changes
>> to our current perl infra, i.e. just calling our own perl.
>>
>> We can later enhance the situation by gradually tweaking our host-perl.
>>
>> What do you guys think of this?
>
> Well according to my failur(es) on gentoo:
>
>>>> perl-gd 2.53 Building
> cd /home/gustavoz/b/perl/output/build/perl-gd-2.53/ && if [ -f Build.PL
> ] ; then perl Build  build; else /usr/bin/make -j1
> PERL_INC=/home/gustavoz/b/perl/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/perl5/5.18.2/arm-linux/CORE
>  pure_all; fi
> make[1]: Entering directory
> `/home/gustavoz/b/perl/output/build/perl-gd-2.53'
> /usr/bin/perl5.18.2 GD/Image.pm.PLS GD/Image.pm
> Extracting Image.pm (with variable substitutions)
> cp GD/Image.pm blib/lib/GD/Image.pm
> cp GD/Simple.pm blib/lib/GD/Simple.pm
> cp GD.pm blib/lib/GD.pm
> AutoSplitting blib/lib/GD.pm (blib/lib/auto/GD)
> cp GD/Group.pm blib/lib/GD/Group.pm
> cp GD/Polygon.pm blib/lib/GD/Polygon.pm
> cp GD/Polyline.pm blib/lib/GD/Polyline.pm
> cp qd.pl blib/lib/qd.pl
> /usr/bin/perl5.18.2 /usr/lib64/perl5/5.18.2/ExtUtils/xsubpp  -typemap
> /usr/lib64/perl5/5.18.2/ExtUtils/typemap -typemap typemap  GD.xs >
> GD.xsc && mv GD.xsc GD.c
> make[1]: *** No rule to make target
> `/home/gustavoz/b/perl/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/perl5/5.18.2/arm-linux/CORE/patchlevel-gentoo.h',

This problem is not specific to perl-gd, but it concerns all Perl XS
packages (ie. with C compilation).
The fix is easy, another `touch` for patchlevel-gentoo.h this time.
See http://git.buildroot.net/buildroot/commit/package/perl/perl.mk?id=e037db345e09241a6a88d22886aa45a165f39dc8

Fran?ois

> needed by `GD.o'.  Stop.
> make[1]: Leaving directory `/home/gustavoz/b/perl/output/build/perl-gd-2.53'
> make: *** [/home/gustavoz/b/perl/output/build/perl-gd-2.53/.stamp_built]
> Error 2
>
> Stumbled upon this when looking at the perl-gd xpm failure.
> And surprise, it fails for a bunch of other perl packages as well.
> We may be able to work around that, but really it would be a volatile
> hack. I'm all for saving build time but fishing in the ocean with lake
> kit... please no.
>
> +1 for host-perl.
>
> Regards.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2014-07-30 18:27 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-18 13:43 [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES Francois Perrad
2014-07-18 13:43 ` [Buildroot] [PATCH 2/4] perl-gd: new package Francois Perrad
2014-07-18 17:51   ` Thomas Petazzoni
2014-07-19 19:58   ` Yann E. MORIN
2014-07-19 23:16     ` Yann E. MORIN
2014-07-20  6:00       ` François Perrad
2014-07-20 14:10         ` Yann E. MORIN
2014-07-18 13:43 ` [Buildroot] [PATCH 3/4] perl-gdtextutil: " Francois Perrad
2014-07-18 13:43 ` [Buildroot] [PATCH 4/4] perl-gdgraph: " Francois Perrad
2014-07-19 17:10   ` Thomas Petazzoni
2014-07-19 20:28     ` François Perrad
2014-07-19 22:35       ` Yann E. MORIN
2014-07-19 22:44         ` Bernd Kuhls
2014-07-20  7:52         ` François Perrad
2014-07-29 21:29         ` Gustavo Zacarias
2014-07-30 18:27           ` [Buildroot] [UNSURE]Re: " François Perrad
2014-07-18 17:47 ` [Buildroot] [PATCH 1/4] support/scripts/scancpan: automatically populates LICENSE_FILES Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.